1
0
Fork 0

nvim: Dependency and configuration updates

This commit is contained in:
Daniel Kempkens 2022-04-09 17:39:52 +02:00
parent a56aef84a9
commit 63ec52e572
11 changed files with 111 additions and 77 deletions

View file

@ -19,8 +19,7 @@
(keymap.lsp-attach client bufnr)))
(fn mod.maybe-enable-fixer [client bufnr]
(when (and client.resolved_capabilities.document_formatting
(= vim.b.nifoc_fixer_enabled nil))
(when client.resolved_capabilities.document_formatting
(api.nvim_buf_set_var bufnr :nifoc_fixer_enabled 1)
(lsp-format.on_attach client bufnr)))

View file

@ -1,5 +1,5 @@
(let [cmp (require :cmp)
luasnip (require :luasnip)
snippy (require :snippy)
lspkind (require :lspkind)
npairs (require :nvim-autopairs.completion.cmp)]
(fn has-words-before? []
@ -12,17 +12,17 @@
(fn map-tab [fallback]
(if (cmp.visible) (cmp.select_next_item)
(luasnip.expand_or_jumpable) (luasnip.expand_or_jump)
(snippy.can_expand_or_advance) (snippy.expand_or_advance)
(has-words-before?) (cmp.complete)
(fallback)))
(fn map-stab [fallback]
(if (cmp.visible) (cmp.select_prev_item)
(luasnip.jumpable -1) (luasnip.jump -1)
(snippy.can_jump -1) (snippy.previous)
(fallback)))
(cmp.setup {:sources (cmp.config.sources [{:name :nvim_lsp}
{:name :luasnip}
{:name :snippy}
{:name :nvim_lua}]
[{:name :treesitter}
{:name :buffer}
@ -52,7 +52,7 @@
"─"
"╰"
"│"]}
:snippet {:expand #(luasnip.lsp_expand $1.body)}
:snippet {:expand #(snippy.expand_snippet $1.body)}
:formatting {:format (lspkind.cmp_format)}})
(cmp.setup.cmdline "/"
{:sources (cmp.config.sources [{:name :nvim_lsp_document_symbol}]

View file

@ -23,6 +23,9 @@
:show_filename false
:diagnostics false})
(lsp-status.register_progress)
;; Custom handler
(tset vim.lsp.handlers "textDocument/hover" (vim.lsp.with vim.lsp.handlers.hover {:border "rounded"}))
(tset vim.lsp.handlers "textDocument/signatureHelp" (vim.lsp.with vim.lsp.handlers.signature_help {:border "rounded"}))
;; Servers
(let [default-capabilities (vim.lsp.protocol.make_client_capabilities)
capabilities (vim.tbl_extend :keep
@ -30,6 +33,7 @@
lsp-status.capabilities)
flags {:allow_incremental_sync true :debounce_text_changes 700}
default-config {:on_attach custom-attach : capabilities : flags}
default-config-no-format {:on_attach custom-attach-no-format : capabilities : flags}
default-servers [:bashls
:cssls
:dockerls
@ -45,7 +49,7 @@
((. lsp name :setup) default-config))
;; Custom
(lsp.elixirls.setup (->> {:cmd [:elixir-ls]}
(vim.tbl_extend :force default-config)))
(vim.tbl_extend :force default-config-no-format)))
(lsp.tsserver.setup (->> {:cmd [:typescript-language-server
:--stdio
:--tsserver-path

View file

@ -5,10 +5,13 @@
:sources [; Formatting
builtins.formatting.fish_indent
builtins.formatting.fnlfmt
builtins.formatting.mix
(builtins.formatting.shfmt.with {:extra_args [:-i
:2]})
; Diagnostics
builtins.diagnostics.credo
builtins.diagnostics.deadnix
builtins.diagnostics.fish
builtins.diagnostics.hadolint
(builtins.diagnostics.shellcheck.with {:extra_args [:-f
:gcc

View file

@ -2,6 +2,35 @@
treesitter-config (require :nvim-treesitter.configs)
treesitter-parsers (require :nvim-treesitter.parsers)
set-bufvar vim.api.nvim_buf_set_var
install-parsers [:bash
:comment
:css
:dockerfile
:eex
:elixir
:erlang
:fennel
:fish
:heex
:help
:html
:http
:javascript
:jsdoc
:json
:lua
:make
:nix
:query
:regex
:ruby
:scss
:svelte
:toml
:tsx
:typescript
:vim
:yaml]
rainbow-parsers [:fennel]]
(treesitter.define_modules {:nifoc_hooks {:enable false
:attach (lambda [bufnr]
@ -13,7 +42,8 @@
:nifoc_treesitter_enabled
0))
:is_supported #true}})
(treesitter-config.setup {:ensure_installed :maintained
(treesitter-config.setup {:ensure_installed install-parsers
:sync_install true
:highlight {:enable true}
:indent {:enable true}
:textobjects {:select {:enable true
@ -25,7 +55,7 @@
:disable (vim.tbl_filter (fn [parser]
(not (vim.tbl_contains rainbow-parsers
parser)))
(treesitter-parsers.available_parsers))}
install-parsers)}
:matchup {:enable true}
:autopairs {:enable true}
:autotag {:enable true}

View file

@ -73,11 +73,11 @@
]
},
"locked": {
"lastModified": 1649352994,
"narHash": "sha256-vTHLgqyAUrtIzw/wbOrfqzf20/UuspDRhurj8LbcSWs=",
"lastModified": 1649392573,
"narHash": "sha256-dCPEJZzExz2+i7AjUuViZUgHC+JXDlBBG/IzuSYWCh8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "3071ea205da9ad7dd1c4094c2076d44f88ba350e",
"rev": "f911ebbec927e8e9b582f2e32e2b35f730074cfc",
"type": "github"
},
"original": {
@ -96,11 +96,11 @@
},
"locked": {
"dir": "contrib",
"lastModified": 1649315348,
"narHash": "sha256-CBOHj+Ty54uX3ajqyFTBoGzkae895Y4/XnvSvn9eP4s=",
"lastModified": 1649482302,
"narHash": "sha256-HkTfLdRpi3ec+WJNRUSWZjwHxD+abwnDkegfTedzTJ8=",
"owner": "neovim",
"repo": "neovim",
"rev": "f85f4e25d2d5edf46fcb950ced028685fe95a7d7",
"rev": "fda9adab5d0688fbd94544dc7146d0957c728c69",
"type": "github"
},
"original": {
@ -119,11 +119,11 @@
]
},
"locked": {
"lastModified": 1649319653,
"narHash": "sha256-vyBOEWQ9GUcr4TW4eG9l49fRd/WlHMOeGYTKh8G9h54=",
"lastModified": 1649492070,
"narHash": "sha256-xBIW4qE5F8U52MFo3t901Sg53wmffS0gdewefwlVFJE=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "c477db087ff6a092e07f9754dedb256888cbcc41",
"rev": "c67abbadead972871a2d39122600235b3ce287b3",
"type": "github"
},
"original": {
@ -186,11 +186,11 @@
]
},
"locked": {
"lastModified": 1649291966,
"narHash": "sha256-52a+0KKH7UaWSOZoRvaQFIjfFsxixpMP8grCR+FY58g=",
"lastModified": 1649464633,
"narHash": "sha256-4Su2Mdb0V4Gf5QJayOBqThWevNMBEtB1ZihbC8ixs54=",
"owner": "arqv",
"repo": "zig-overlay",
"rev": "5512b6e9c793444ae5abe50e2095fd32f251141c",
"rev": "4eca4af2446545ea066f1d0f2022d00073c0c57a",
"type": "github"
},
"original": {

View file

@ -47,6 +47,7 @@ in
taplo-lsp
# LSP Tools
deadnix
hadolint
fnlfmt
shellcheck
@ -151,8 +152,8 @@ in
cmp-nvim-lsp
cmp-nvim-lsp-signature-help
LuaSnip
cmp_luasnip
nvim-snippy
cmp-snippy
cmp-nvim-lua
cmp-path
cmp-buffer

View file

@ -27,12 +27,12 @@
};
plenary-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "plenary.nvim";
version = "1649311285";
version = "1649500938";
src = pkgs.fetchFromGitHub {
owner = "nvim-lua";
repo = "plenary.nvim";
rev = "470d0e84ae275a367892e277df770233ec477f46";
sha256 = "xrh7yNH0WMN+rhwnagx4VaCkqy5kL7Ghpm5I7/4zuls=";
rev = "c54f77d409f476d457d1e1ba7615139c63937321";
sha256 = "t7IrCd9VKBYVr1xzGrQt6S8vhjG+TGGf6+YJn/Svl9s=";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/nvim-lua/plenary.nvim";
@ -87,12 +87,12 @@
};
leap-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "leap.nvim";
version = "1649262387";
version = "1649451840";
src = pkgs.fetchFromGitHub {
owner = "ggandor";
repo = "leap.nvim";
rev = "36c4037c5e02d02bf9e49dbb822ada3035c41c35";
sha256 = "T7r9kqGCMlAgUdCS9WJfBR63i2lkuQ2N0unIgBBz2QE=";
rev = "b0e30cc1905a40ea8759286bc14061ce585ccbb4";
sha256 = "7JzXUlmwn7hDFS38/3MzNnPZ44SkUkIMGpOHM8heos8=";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/ggandor/leap.nvim";
@ -111,48 +111,48 @@
};
nvim-treesitter = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "nvim-treesitter";
version = "1649347938";
version = "1649507047";
src = pkgs.fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter";
rev = "0373e2ae5f47023b687dc7c84a2ce2aaff7110ba";
sha256 = "f4hjBHhz8+4ZkzEbQaOPa1cD8jQqt8CVg+NhKFZs7XY=";
rev = "e3adb39586ef573fc048aeb341f3a9fb71754452";
sha256 = "oVXJzI+ZqPJOn1SywI0EnkcsDcDq0qICZYip53055fw=";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter";
};
nvim-ts-rainbow = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "nvim-ts-rainbow";
version = "1648928541";
version = "1649434846";
src = pkgs.fetchFromGitHub {
owner = "p00f";
repo = "nvim-ts-rainbow";
rev = "dee11b86ae2419e3f7484197c597a0e634a37a56";
sha256 = "/qKBx3P115rk0kbvwdYXriGplNtD88cUJVGS3itFu+Y=";
rev = "5ad21bffe98f0b42d8225553d1a800b05f9f1eee";
sha256 = "69MdMizzy7BYpsXcPmyZlGP0zAWvAVnLK3w0AEy71ws=";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/p00f/nvim-ts-rainbow";
};
playground = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "playground";
version = "1648628752";
version = "1649436240";
src = pkgs.fetchFromGitHub {
owner = "nvim-treesitter";
repo = "playground";
rev = "7dbcd4d647010a80d135804b3fc1da3fb77083d6";
sha256 = "x6NKZNJzGDnpMI97ChhG+DBJPUwLMWjXyhmAugXH+Tw=";
rev = "13e2d2d63ce7bc5d875e8bdf89cb070bc8cc7a00";
sha256 = "2gKGDUvEVCVOX1hbnc4WDlcjsE8YnhrTMqv6POx4k84=";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/nvim-treesitter/playground";
};
telescope-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "telescope.nvim";
version = "1648985613";
version = "1649503077";
src = pkgs.fetchFromGitHub {
owner = "nvim-telescope";
repo = "telescope.nvim";
rev = "6e7ee3829225d5c97c1ebfff686050142ffe5867";
sha256 = "iinltnvBuJMf8tgAF/9UIkFaEwx/d2lFJ0oSSuUwm2I=";
rev = "762d49f60749eac75979202194ad0ee177977a74";
sha256 = "lmXzbwYKtkhmSibe2mOOJTdmf0CL2UgZz52luMxPjMU=";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/nvim-telescope/telescope.nvim";
@ -202,12 +202,12 @@
};
null-ls-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "null-ls.nvim";
version = "1649291669";
version = "1649387867";
src = pkgs.fetchFromGitHub {
owner = "jose-elias-alvarez";
repo = "null-ls.nvim";
rev = "64d9e2b58a17cd85138c265ab816198000e126d2";
sha256 = "QGsLOUjPXSv6feHR46KpYGe4d/kCf+8Qqg4RCBbTTts=";
rev = "8d239816a88a8ea5472b43d33abb4c27e63e314d";
sha256 = "irUdHReYYM9RB/FhITunYzhxU2MevxNKpv8CNZQQrUk=";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim";
@ -238,12 +238,12 @@
};
nvim-cmp = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "nvim-cmp";
version = "1649208788";
version = "1649429970";
src = pkgs.fetchFromGitHub {
owner = "hrsh7th";
repo = "nvim-cmp";
rev = "27970d8a1c99cd6ddea2709beda52d8e9336228b";
sha256 = "Yvw5GXNrxFl8YNILNyAirqbTWxxEjgVbkeU7L5WodbY=";
rev = "3192a0c57837c1ec5bf298e4f3ec984c7d2d60c0";
sha256 = "IhFrjPZ2w6bEgGIS2jljlUvYsvmOPdjcK0m6+lsP/oQ=";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/hrsh7th/nvim-cmp";
@ -272,29 +272,29 @@
};
meta.homepage = "https://github.com/hrsh7th/cmp-nvim-lsp-signature-help";
};
LuaSnip = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "LuaSnip";
version = "1649161648";
nvim-snippy = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "nvim-snippy";
version = "1649459870";
src = pkgs.fetchFromGitHub {
owner = "L3MON4D3";
repo = "LuaSnip";
rev = "69cb81cf7490666890545fef905d31a414edc15b";
sha256 = "aEkDqez8xUpikaq+LI7Rmx+xk24wmlGmibnDKSk3SLY=";
owner = "dcampos";
repo = "nvim-snippy";
rev = "ce55224f5b9a9eba8c21ac7d66aeb75b2d071bcf";
sha256 = "kjstrRqU1xyY0HOXmD6EcOQP0FZtsh/zbb6pdjYSCU0=";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/L3MON4D3/LuaSnip";
meta.homepage = "https://github.com/dcampos/nvim-snippy";
};
cmp_luasnip = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "cmp_luasnip";
version = "1648846007";
cmp-snippy = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "cmp-snippy";
version = "1632148155";
src = pkgs.fetchFromGitHub {
owner = "saadparwaiz1";
repo = "cmp_luasnip";
rev = "b10829736542e7cc9291e60bab134df1273165c9";
sha256 = "1JiDa7fK9AEMUxLOFD3SSsxKEVLfd5xR8vfUlLRqz+M=";
owner = "dcampos";
repo = "cmp-snippy";
rev = "9af1635fe40385ffa3dabf322039cb5ae1fd7d35";
sha256 = "vseoNZtB8jPGAJD8zFJigwKn11rXsNy04ipg0fYM46k=";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/saadparwaiz1/cmp_luasnip";
meta.homepage = "https://github.com/dcampos/cmp-snippy";
};
cmp-nvim-lua = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "cmp-nvim-lua";
@ -394,12 +394,12 @@
};
nvim-treesitter-textobjects = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "nvim-treesitter-textobjects";
version = "1648520193";
version = "1649462894";
src = pkgs.fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter-textobjects";
rev = "c4b41e42dad700b23c6ea86ecb69c9deb55a8fbb";
sha256 = "7G9vmmO3N0J7WdnSR3nwXt1xnEbj+kqv2i76nYNdDtE=";
rev = "f85c66102f91da02569af0937601ee40c7a19dbd";
sha256 = "RNEyiieaAFHhyj1UmmQTqST/1UyEubJ/V8FnQKFVAKE=";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects";
@ -478,12 +478,12 @@
};
gitsigns-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "gitsigns.nvim";
version = "1648922715";
version = "1649489011";
src = pkgs.fetchFromGitHub {
owner = "lewis6991";
repo = "gitsigns.nvim";
rev = "83ab3ca26ff5038f823060dfddda7a053e579b67";
sha256 = "9++DoH1AiHuyv8N5aQ3Xob8bKiswWQfgISfxkK2ZP8M=";
rev = "acdd74bc6cc88afffe2586e2b8ec8e7746d9acc9";
sha256 = "koF8aynAaDOr+Gp+6NvrgaDLHeiMuKJKbCuNqeXwv08=";
fetchSubmodules = true;
};
meta.homepage = "https://github.com/lewis6991/gitsigns.nvim";

View file

@ -43,8 +43,8 @@
- src: hrsh7th/nvim-cmp
- src: hrsh7th/cmp-nvim-lsp
- src: hrsh7th/cmp-nvim-lsp-signature-help
- src: L3MON4D3/LuaSnip
- src: saadparwaiz1/cmp_luasnip
- src: dcampos/nvim-snippy
- src: dcampos/cmp-snippy
- src: hrsh7th/cmp-nvim-lua
- src: hrsh7th/cmp-path
- src: hrsh7th/cmp-buffer

View file

@ -85,11 +85,7 @@ nixpkgs-fmt "$nix_new_file"
if test -f "$nix_file"; then
set +eo pipefail
if [ "$TERM" = "xterm-kitty" ]; then
kitty +kitten diff "$nix_file" "$nix_new_file"
else
diff -U 2 "$nix_file" "$nix_new_file" | bat --paging=never -ldiff
fi
difft "$nix_file" "$nix_new_file"
set -eo pipefail
mv "$nix_new_file" "$nix_file"

View file

@ -6,6 +6,7 @@ mkShell {
bat
curl
dasel
difftastic
jq
nix-prefetch-github
nixpkgs-fmt