Compare commits

...

6 Commits

16 changed files with 144 additions and 152 deletions

View File

@ -339,14 +339,14 @@ install_exercism: check_os
install_vim: check_os link_vim install_vim: check_os link_vim
@echo "Vim package installation is no longer done automatically!" @echo "Vim package installation is no longer done automatically!"
@echo "Start Vim or NeoVim and run:" @echo "Start Vim or NeoVim and run:"
@echo "For NeoVim: :PackerInstall" @echo "For NeoVim: :Lazy install"
@echo "For Vim: :PlugInstall" @echo "For Vim: :PlugInstall"
.PHONY: check_neovim .PHONY: check_neovim
check_neovim: check_os check_neovim: check_os
@echo "This expects that packer is already installed" @echo "This expects that lazy is already installed"
@echo "Installing packer packages" @echo "Installing lazy packages"
@nvim --headless -c 'autocmd User PackerComplete quitall' -c 'PackerInstall' @nvim --headless -c 'Lazy! sync' -c 'quitall'
@echo "Doing a basic neovim startup and quit" @echo "Doing a basic neovim startup and quit"
@nvim --headless -c 'set display-=msgsep' -c 'quitall' @nvim --headless -c 'set display-=msgsep' -c 'quitall'
@echo "Running plenary tests" @echo "Running plenary tests"

View File

@ -142,7 +142,7 @@ time_out () {
} }
time_bal () { time_bal () {
ledger -f "$TIMESHEET_LEDGER_HOME/main.journal" bal $PROJECT ledger -f "$TIMESHEET_LEDGER_HOME/main.journal" bal $PROJECT $COMMENT
} }
case $COMMAND in case $COMMAND in

View File

@ -63,7 +63,7 @@ fi
if [ "${RUN[nvim]}" = "1" ] if [ "${RUN[nvim]}" = "1" ]
then then
nvim --headless -c 'autocmd User PackerComplete quitall' -c 'PackerSync' nvim --headless -c 'Lazy! sync' -c 'quitall'
fi fi
if [ "${RUN[vim]}" = "1" ] if [ "${RUN[vim]}" = "1" ]

View File

@ -1 +1,2 @@
accounts.conf accounts.conf
signatures

View File

@ -39,11 +39,6 @@ A = :archive flat<Enter>
C = :compose<Enter> C = :compose<Enter>
rr = :reply -a<Enter>
rq = :reply -aq<Enter>
Rr = :reply<Enter>
Rq = :reply -q<Enter>
c = :cf<space> c = :cf<space>
$ = :term<space> $ = :term<space>
! = :term<space> ! = :term<space>

View File

@ -43,3 +43,10 @@ eval (asdf exec direnv hook fish | source)
function direnv function direnv
asdf exec direnv "$argv" asdf exec direnv "$argv"
end end
function asdfexec
begin
asdf shell $argv[1] $argv[2]
$argv[3..]
end
end

View File

@ -83,7 +83,7 @@ function fisher -a cmd -d "fish plugin manager"
fish -c " fish -c "
if test -e $plugin if test -e $plugin
command cp -Rf $plugin/* $source command cp -Rf $plugin/* $source
else else
set temp (command mktemp -d) set temp (command mktemp -d)
set name (string split \@ $plugin) || set name[2] HEAD set name (string split \@ $plugin) || set name[2] HEAD
set url https://codeload.github.com/\$name[1]/tar.gz/\$name[2] set url https://codeload.github.com/\$name[1]/tar.gz/\$name[2]
@ -203,4 +203,4 @@ else if functions -q _fisher_list # 4.0
echo -n "upgrading to fisher $fisher_version new in-memory state.." echo -n "upgrading to fisher $fisher_version new in-memory state.."
fisher update >/dev/null 2>/dev/null fisher update >/dev/null 2>/dev/null
echo -ne "done\r\n" echo -ne "done\r\n"
end end

View File

@ -1,2 +1,3 @@
undo/ undo/
*.class *.class
lazy-lock.json

View File

@ -3,6 +3,4 @@ globals = {
"vim", "vim",
} }
exclude_files = { exclude_files = {}
"plugin/packer_compiled.lua",
}

View File

@ -1,6 +1,4 @@
if require("esensar.init.first_load")() then require("esensar.init.first_load")
return
end
-- Allow `require('impatient')` to fail, in case plugins are not yet installed -- Allow `require('impatient')` to fail, in case plugins are not yet installed
local _ = pcall(require, "impatient") local _ = pcall(require, "impatient")

View File

@ -1,30 +1,12 @@
-- Adopted from https://github.com/tjdevries/config_manager/blob/master/xdg_config/nvim/lua/tj/first_load.lua local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
local download_packer = function() if not vim.loop.fs_stat(lazypath) then
if vim.fn.input("Download Packer? (y for yes)") ~= "y" then vim.fn.system({
return "git",
end "clone",
"--filter=blob:none",
local directory = string.format("%s/site/pack/packer/start/", vim.fn.stdpath("data")) "https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
vim.fn.mkdir(directory, "p") lazypath,
})
local out = vim.fn.system(
string.format("git clone %s %s", "https://github.com/wbthomason/packer.nvim", directory .. "/packer.nvim")
)
print(out)
print("Downloading packer.nvim...")
vim.api.nvim_command("PackerCompile")
vim.api.nvim_command("PackerInstall")
print("( You'll need to restart now )")
end
return function()
if not pcall(require, "packer") then
download_packer()
return true
end
return false
end end
vim.opt.rtp:prepend(lazypath)

View File

@ -1,111 +1,107 @@
return require("packer").startup({ return require("lazy").setup({
function(use) -- Tpope general improvements
use("wbthomason/packer.nvim") "tpope/vim-sensible", -- Sane defaults,
"tpope/vim-endwise", -- Add closing statements automatically for if, function etc
"tpope/vim-surround", -- Surround with ', ", etc
"tpope/vim-fugitive", -- Git integration
"tpope/vim-vinegar", -- Netrw improvements
{ "tpope/vim-obsession", cmd = "Obsession" }, -- Session.vim management
{
"kristijanhusak/vim-dadbod-ui",
cmd = "DBUI",
dependencies = "tpope/vim-dadbod", -- database access
}, -- UI For Dadbod
"kristijanhusak/vim-dadbod-completion", -- Dadbod completion
"tpope/vim-speeddating", -- <C-A> and <C-X> for dates
"tpope/vim-dispatch", -- Dispatch command
"tpope/vim-projectionist", -- Project config file!
"tpope/vim-unimpaired", -- Additional [ and ] mappings
"tpope/vim-repeat", -- Better . repeat
"tpope/vim-commentary", -- Commenting motion
"tpope/vim-sleuth", -- Intendation heuristics
"tpope/vim-eunuch", -- UNIX helpers
-- Tpope general improvements -- General improvements
use("tpope/vim-sensible") -- Sane defaults "lewis6991/gitsigns.nvim", -- Git signs
use("tpope/vim-endwise") -- Add closing statements automatically for if, function etc { "godlygeek/tabular", cmd = "Tabularize" }, -- Tabular command for alignment
use("tpope/vim-surround") -- Surround with ', ", etc "vim-scripts/utl.vim", -- Universal text linking
use("tpope/vim-fugitive") -- Git integration { "mbbill/undotree", cmd = "UndotreeToggle" }, -- Undos in a tree for easy access
use("tpope/vim-vinegar") -- Netrw improvements "mhinz/vim-grepper", -- Grepper command - improved grepping throughout project
use({ "tpope/vim-obsession", cmd = "Obsession" }) -- Session.vim management "radenling/vim-dispatch-neovim", -- vim-dispatch for neovim - uses terminal
use({ "wellle/targets.vim", -- Additional targets for inside and around motions
"kristijanhusak/vim-dadbod-ui", "flazz/vim-colorschemes", -- All popular colorschemes
cmd = "DBUI", "romainl/vim-qf", -- Quickfix list upgrades
requires = "tpope/vim-dadbod", -- database access { "romainl/vim-devdocs", cmd = "DD" }, -- Quick DevDocs.io search using :DD
}) -- UI For Dadbod "gpanders/editorconfig.nvim", -- .editorconfig support
use("kristijanhusak/vim-dadbod-completion") -- Dadbod completion "lewis6991/impatient.nvim", -- Caching lua modules for faster startup
use("tpope/vim-speeddating") -- <C-A> and <C-X> for dates "rcarriga/nvim-notify", -- notifications UI
use("tpope/vim-dispatch") -- Dispatch command "MunifTanjim/nui.nvim", -- General UI
use("tpope/vim-projectionist") -- Project config file! "jiangmiao/auto-pairs", -- Autoclosing of brackets and quotes
use("tpope/vim-unimpaired") -- Additional [ and ] mappings
use("tpope/vim-repeat") -- Better . repeat
use("tpope/vim-commentary") -- Commenting motion
use("tpope/vim-sleuth") -- Intendation heuristics
use("tpope/vim-eunuch") -- UNIX helpers
-- General improvements -- Tools
use("lewis6991/gitsigns.nvim") -- Git signs "direnv/direnv.vim", -- Integration with Direnv
use({ "godlygeek/tabular", cmd = "Tabularize" }) -- Tabular command for alignment "nvim-neotest/neotest", -- Running tests from NeoVim
use("vim-scripts/utl.vim") -- Universal text linking "nvim-neotest/neotest-plenary",
use({ "mbbill/undotree", cmd = "UndotreeToggle" }) -- Undos in a tree for easy access "rouge8/neotest-rust",
use("mhinz/vim-grepper") -- Grepper command - improved grepping throughout project "nvim-neotest/neotest-vim-test", -- vim-test plugin for neotest
use("radenling/vim-dispatch-neovim") -- vim-dispatch for neovim - uses terminal "vim-test/vim-test", -- Running tests from vim
use("wellle/targets.vim") -- Additional targets for inside and around motions "mfussenegger/nvim-dap", -- Debug Adapter Protocol
use("flazz/vim-colorschemes") -- All popular colorschemes "rcarriga/nvim-dap-ui", -- UI components for DAP
use("romainl/vim-qf") -- Quickfix list upgrades "theHamsta/nvim-dap-virtual-text", -- Virtual text display for DAP
use({ "romainl/vim-devdocs", cmd = "DD" }) -- Quick DevDocs.io search using :DD "diepm/vim-rest-console", -- REST console for vim
use("gpanders/editorconfig.nvim") -- .editorconfig support "https://codeberg.org/esensar/nvim-dev-container", -- devcontainer.json support
use("lewis6991/impatient.nvim") -- Caching lua modules for faster startup "jbyuki/one-small-step-for-vimkind", -- Debugger for Nvim-Lua
use("rcarriga/nvim-notify") -- notifications UI "https://codeberg.org/neovim-java/neovim-java-plugin-host", -- Host for Java plugins
use("MunifTanjim/nui.nvim") -- General UI
use("jiangmiao/auto-pairs") -- Autoclosing of brackets and quotes
-- Tools -- Snippets
use("direnv/direnv.vim") -- Integration with Direnv "L3MON4D3/LuaSnip", -- snippets support
use("nvim-neotest/neotest") -- Running tests from NeoVim "rafamadriz/friendly-snippets", -- Collection of snippets
use("nvim-neotest/neotest-plenary") "saadparwaiz1/cmp_luasnip", -- cmp snippets support
use("rouge8/neotest-rust")
use("nvim-neotest/neotest-vim-test") -- vim-test plugin for neotest
use("vim-test/vim-test") -- Running tests from vim
use("mfussenegger/nvim-dap") -- Debug Adapter Protocol
use("rcarriga/nvim-dap-ui") -- UI components for DAP
use("theHamsta/nvim-dap-virtual-text") -- Virtual text display for DAP
use("diepm/vim-rest-console") -- REST console for vim
use("https://codeberg.org/esensar/nvim-dev-container") -- devcontainer.json support
use("jbyuki/one-small-step-for-vimkind") -- Debugger for Nvim-Lua
use("https://codeberg.org/neovim-java/neovim-java-plugin-host") -- Host for Java plugins
-- Snippets -- Language support
use("L3MON4D3/LuaSnip") -- snippets support { "tpope/vim-rails", ft = "ruby" }, -- Enables all rails command through vim and integrates with projectionist
use("rafamadriz/friendly-snippets") -- Collection of snippets { "c-brenn/phoenix.vim", ft = "elixir" }, -- Similar to vim-rails, but for phoenix
use("saadparwaiz1/cmp_luasnip") -- cmp snippets support "Olical/conjure", -- Lisp languages REPL integration
"Olical/aniseed", -- Fennel nvim support
"vimwiki/vimwiki", -- Vimwiki - personal wiki in vim
"https://codeberg.org/vimwiki-reviews/vimwiki-reviews-lua", -- Vimwiki extension for periodic reviews
{ "ledger/vim-ledger", ft = "ledger" }, -- Support for ledger-cli format
{ "tandrewnichols/vim-docile", ft = "help" }, -- Support for vim doc.txt format
{ "habamax/vim-godot", ft = "gdscript" }, -- Godot engine (and script) support
"guns/vim-sexp", -- Precision editing for S-expressions
"tpope/vim-sexp-mappings-for-regular-people", -- Simpler keymaps for vim-sexp
{ "tridactyl/vim-tridactyl", ft = "tridactyl" }, -- Tridactyl config file support
{ "aklt/plantuml-syntax", ft = "plantuml" }, -- PlantUML support
{ "cdelledonne/vim-cmake", ft = "cmake" }, -- CMake integration
-- Language support -- Treesitter
use({ "tpope/vim-rails", ft = "ruby" }) -- Enables all rails command through vim and integrates with projectionist { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate" }, -- Treesitter integration
use({ "c-brenn/phoenix.vim", ft = "elixir" }) -- Similar to vim-rails, but for phoenix "nvim-treesitter/playground", -- TSPlaygroundToggle - access treesitter data
use("Olical/conjure") -- Lisp languages REPL integration
use("Olical/aniseed") -- Fennel nvim support
use("vimwiki/vimwiki") -- Vimwiki - personal wiki in vim
use("https://codeberg.org/vimwiki-reviews/vimwiki-reviews-lua") -- Vimwiki extension for periodic reviews
use({ "ledger/vim-ledger", ft = "ledger" }) -- Support for ledger-cli format
use({ "tandrewnichols/vim-docile", ft = "help" }) -- Support for vim doc.txt format
use({ "habamax/vim-godot", ft = "gdscript" }) -- Godot engine (and script) support
use("guns/vim-sexp") -- Precision editing for S-expressions
use("tpope/vim-sexp-mappings-for-regular-people") -- Simpler keymaps for vim-sexp
use({ "tridactyl/vim-tridactyl", ft = "tridactyl" }) -- Tridactyl config file support
use({ "aklt/plantuml-syntax", ft = "plantuml" }) -- PlantUML support
use({ "cdelledonne/vim-cmake", ft = "cmake" }) -- CMake integration
-- Treesitter -- LSP
use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) -- Treesitter integration "neovim/nvim-lspconfig", -- Easy LSP Config
use("nvim-treesitter/playground") -- TSPlaygroundToggle - access treesitter data "williamboman/mason.nvim", -- Easy tool install
"williamboman/mason-lspconfig.nvim", -- Lspconfig support for mason
"hrsh7th/cmp-nvim-lsp", -- LSP source for cmp
"hrsh7th/cmp-buffer", -- Buffer source for nvim-cmp
"hrsh7th/cmp-path", -- Path source for nvim-cmp
"hrsh7th/cmp-nvim-lua", -- Nvim-Lua source for nvim-cmp
"hrsh7th/cmp-omni", -- omnifunc source for nvim-cmp
"hrsh7th/nvim-cmp", -- completion integration
"jose-elias-alvarez/null-ls.nvim", -- Linting and formatting
-- LSP -- LSP language specific
use("neovim/nvim-lspconfig") -- Easy LSP Config "folke/neodev.nvim", -- Built-in Lua integration with LSP
use("williamboman/mason.nvim") -- Easy tool install "akinsho/flutter-tools.nvim", -- Additional flutter integrations
use("williamboman/mason-lspconfig.nvim") -- Lspconfig support for mason "simrat39/rust-tools.nvim", -- Additional rust integrations
use("hrsh7th/cmp-nvim-lsp") -- LSP source for cmp { "mfussenegger/nvim-jdtls", ft = "java" }, -- Additional java integrations
use("hrsh7th/cmp-buffer") -- Buffer source for nvim-cmp
use("hrsh7th/cmp-path") -- Path source for nvim-cmp
use("hrsh7th/cmp-nvim-lua") -- Nvim-Lua source for nvim-cmp
use("hrsh7th/cmp-omni") -- omnifunc source for nvim-cmp
use("hrsh7th/nvim-cmp") -- completion integration
use("jose-elias-alvarez/null-ls.nvim") -- Linting and formatting
-- LSP language specific -- Lua support
use("folke/neodev.nvim") -- Built-in Lua integration with LSP "nvim-lua/popup.nvim", -- Popup API integration - needed for some plugins
use("akinsho/flutter-tools.nvim") -- Additional flutter integrations "nvim-lua/plenary.nvim", -- Lua helpers
use("simrat39/rust-tools.nvim") -- Additional rust integrations
use({ "mfussenegger/nvim-jdtls", ft = "java" }) -- Additional java integrations
-- Lua support -- Telescope
use("nvim-lua/popup.nvim") -- Popup API integration - needed for some plugins "nvim-telescope/telescope.nvim", -- Fuzzy searcher
use("nvim-lua/plenary.nvim") -- Lua helpers "nvim-telescope/telescope-dap.nvim", -- DAP integration for Telescope
"nvim-telescope/telescope-ui-select.nvim", -- UI select for Telescope
-- Telescope
use("nvim-telescope/telescope.nvim") -- Fuzzy searcher
use("nvim-telescope/telescope-dap.nvim") -- DAP integration for Telescope
use("nvim-telescope/telescope-ui-select.nvim") -- UI select for Telescope
end,
}) })

View File

@ -6,7 +6,7 @@ local lspconfig = require("lspconfig")
require("mason").setup() require("mason").setup()
require("mason-lspconfig").setup() require("mason-lspconfig").setup()
require("neodev").setup({ require("neodev").setup({
library = { plugins = { "neotest" }, types = true }, library = { plugins = { "neotest", "plenary.nvim" }, types = true },
}) })
local common_config = require("esensar.lsp.server_config") local common_config = require("esensar.lsp.server_config")

View File

@ -187,7 +187,8 @@ local statuslines = {
end end
status = status status = status
.. " %4*" .. " %4*"
.. "[" .. (build_status_last.build_title or "")
.. " ["
.. (build_status_last.current_step or "") .. (build_status_last.current_step or "")
.. "/" .. "/"
.. (build_status_last.step_count or "") .. (build_status_last.step_count or "")

View File

@ -1 +0,0 @@
packer_compiled.lua

View File

@ -608,6 +608,19 @@ local golang_config = {
}, },
} }
local playdate_config = {
["*"] = {
start = "pdc Source output.pdx && PlaydateSimulator output.pdx",
dispatch = "pdc Source output.pdx && PlaydateSimulator.debug output.pdx",
},
["Source/pdxinfo"] = {
type = "metadata",
},
["Source/*.lua"] = {
type = "source",
},
}
vim.g.projectionist_heuristics = { vim.g.projectionist_heuristics = {
["pubspec.yaml"] = flutter_config, ["pubspec.yaml"] = flutter_config,
["requirements.txt|pyproject.toml"] = python_config, ["requirements.txt|pyproject.toml"] = python_config,
@ -626,4 +639,5 @@ vim.g.projectionist_heuristics = {
["build.zig"] = zig_config, ["build.zig"] = zig_config,
["project.clj"] = lein_config, ["project.clj"] = lein_config,
["deps.edn"] = clojure_config, ["deps.edn"] = clojure_config,
["Source/main.lua|Source/pdxinfo"] = playdate_config,
} }