fnlfmt:
This commit is contained in:
parent
a34700b8bf
commit
5613801fa3
85
fnl/init.fnl
85
fnl/init.fnl
|
@ -1,52 +1,41 @@
|
|||
;; Package Management via lazy.nvim
|
||||
(let
|
||||
[lazy (require :lazy)
|
||||
lazypath (.. (vim.fn.stdpath "data") "/lazy/lazy.nvim")
|
||||
]
|
||||
(if (not (vim.loop.fs_stat lazypath))
|
||||
(vim.fn.system
|
||||
["git"
|
||||
"clone"
|
||||
"--filter=blob:none"
|
||||
"https://github.com/folke/lazy.nvim.git"
|
||||
"--branch=stable"
|
||||
lazypath]))
|
||||
(vim.opt.rtp:prepend lazypath)
|
||||
(lazy.setup
|
||||
["https://github.com/rktjmp/hotpot.nvim"
|
||||
{:url "https://github.com/nvim-telescope/telescope.nvim"
|
||||
:tag "0.1.2"
|
||||
:dependencies ["nvim-lua/plenary.nvim"]}
|
||||
{:url "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
|
||||
:build (.. "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release"
|
||||
" && cmake --build build --config Release"
|
||||
" && cmake --install build --prefix build" )}
|
||||
{:url "https://github.com/nvim-treesitter/nvim-treesitter"
|
||||
:build ":TSUpdate"}
|
||||
{:url "https://github.com/neovim/nvim-lspconfig"
|
||||
:dependencies
|
||||
["https://github.com/williamboman/mason.nvim"
|
||||
"williamboman/mason-lspconfig.nvim"
|
||||
{:url "https://github.com/j-hui/fidget.nvim"
|
||||
:tag "legacy"
|
||||
:opts {}}
|
||||
"folke/neodev.nvim"
|
||||
]}
|
||||
{:url "https://github.com/hrsh7th/nvim-cmp"
|
||||
:dependencies
|
||||
["https://github.com/hrsh7th/cmp-nvim-lsp"
|
||||
"https://github.com/hrsh7th/cmp-buffer"
|
||||
"https://github.com/hrsh7th/cmp-path"
|
||||
"https://github.com/hrsh7th/cmp-cmdline"
|
||||
"https://github.com/hrsh7th/cmp-cmdline"
|
||||
]}
|
||||
{:url "https://github.com/L3MON4D3/LuaSnip"
|
||||
:dependencies
|
||||
[{:url "https://github.com/saadparwaiz1/cmp_luasnip"}
|
||||
{:url "https://github.com/rafamadriz/friendly-snippets"}
|
||||
]}
|
||||
"https://github.com/sainnhe/everforest"
|
||||
]))
|
||||
(let [lazy (require :lazy)
|
||||
lazypath (.. (vim.fn.stdpath :data) :/lazy/lazy.nvim)]
|
||||
(if (not (vim.loop.fs_stat lazypath))
|
||||
(vim.fn.system [:git
|
||||
:clone
|
||||
"--filter=blob:none"
|
||||
"https://github.com/folke/lazy.nvim.git"
|
||||
:--branch=stable
|
||||
lazypath]))
|
||||
(vim.opt.rtp:prepend lazypath)
|
||||
(lazy.setup ["https://github.com/rktjmp/hotpot.nvim"
|
||||
{:url "https://github.com/nvim-telescope/telescope.nvim"
|
||||
:tag :0.1.2
|
||||
:dependencies [:nvim-lua/plenary.nvim]}
|
||||
{:url "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
|
||||
:build (.. "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release"
|
||||
" && cmake --build build --config Release"
|
||||
" && cmake --install build --prefix build")}
|
||||
{:url "https://github.com/nvim-treesitter/nvim-treesitter"
|
||||
:build ":TSUpdate"}
|
||||
{:url "https://github.com/neovim/nvim-lspconfig"
|
||||
:dependencies ["https://github.com/williamboman/mason.nvim"
|
||||
:williamboman/mason-lspconfig.nvim
|
||||
{:url "https://github.com/j-hui/fidget.nvim"
|
||||
:tag :legacy
|
||||
:opts {}}
|
||||
:folke/neodev.nvim]}
|
||||
{:url "https://github.com/hrsh7th/nvim-cmp"
|
||||
:dependencies ["https://github.com/hrsh7th/cmp-nvim-lsp"
|
||||
"https://github.com/hrsh7th/cmp-buffer"
|
||||
"https://github.com/hrsh7th/cmp-path"
|
||||
"https://github.com/hrsh7th/cmp-cmdline"
|
||||
"https://github.com/hrsh7th/cmp-cmdline"]}
|
||||
{:url "https://github.com/L3MON4D3/LuaSnip"
|
||||
:dependencies ["https://github.com/saadparwaiz1/cmp_luasnip"
|
||||
"https://github.com/rafamadriz/friendly-snippets"]}
|
||||
"https://github.com/sainnhe/everforest"]))
|
||||
|
||||
(let [telescope (require :telescope)]
|
||||
(pcall (telescope.load_extension :fzf)))
|
||||
|
|
|
@ -1,69 +1,62 @@
|
|||
(let
|
||||
[cmp (require :cmp)
|
||||
luasnip (require :luasnip)
|
||||
]
|
||||
{:options (fn []
|
||||
(set vim.o.termguicolors true)
|
||||
(set vim.o.mouse :a)
|
||||
(set vim.o.clipboard :unnamedplus)
|
||||
(set vim.o.wrap false)
|
||||
(set vim.opt.colorcolumn "80,120")
|
||||
(vim.cmd.colorscheme :everforest))
|
||||
|
||||
:keymap (fn []
|
||||
(let [nmap #(vim.keymap.set [:n] $1 $2 {:desc $3})]
|
||||
(nmap "<Tab>" ":bnext<CR>" "Next Buffer")
|
||||
(nmap "<S-Tab>" ":bprevious<CR>" "Previous Buffer")
|
||||
(nmap "<C-X>" ":write|bdelete<CR>" "Save and delete buffer")
|
||||
(nmap "<C-P>" ":Telescope find_files<CR>" "Telescope find_files")
|
||||
(nmap "<C-F>" ":Telescope live_grep<CR>" "Telescope live_grep")
|
||||
(nmap "<C-B>" ":Telescope buffers<CR>" "Telescope buffers")
|
||||
(nmap "<C-T>" ":Telescope treesitter<CR>" "Telescope treesitter")))
|
||||
|
||||
:treesitter-languages
|
||||
[:c :lua :vim :vimdoc :query ; required
|
||||
:fennel] ; add new languages here
|
||||
|
||||
:language-servers
|
||||
{:lua_ls {:filetypes [:lua]
|
||||
:Lua
|
||||
{:workspace {:checkThirdParty false}}
|
||||
:telemetry {:enable false}
|
||||
:diagnostics {:globals
|
||||
[:vim
|
||||
]}}
|
||||
:fennel_language_server {:filetypes [:fennel]
|
||||
:fennel
|
||||
{:workspace {:library (vim.api.nvim_list_runtime_paths)}
|
||||
:diagnostics {:globals
|
||||
[:vim
|
||||
]}}}
|
||||
:bashls {:filetypes [:bash]}}
|
||||
|
||||
:lsp-attach (fn [_ bufnr]
|
||||
(let
|
||||
[nmap #(vim.keymap.set :n $1 $2 {:buffer bufnr :desc (.. "LSP: " $3)})
|
||||
telescope (require :telescope.builtin)
|
||||
]
|
||||
(nmap :gd vim.lsp.buf.definition "[G]o to [D]efiniton")
|
||||
(nmap :gr telescope.lsp_references "[G]o to [R]eferences")
|
||||
(nmap :gI vim.lsp.buf.implementation "[G]o to [I]mplementation")
|
||||
(vim.api.nvim_buf_create_user_command bufnr "Format"
|
||||
#(vim.lsp.buf.format)
|
||||
"Format current buffer with LSP")))
|
||||
|
||||
:cmp-mapping
|
||||
{:<C-j> (cmp.mapping.select_next_item)
|
||||
:<C-k> (cmp.mapping.select_prev_item)
|
||||
:<C-d> (cmp.mapping.scroll_docs -4)
|
||||
:<C-f> (cmp.mapping.scroll_docs 4)
|
||||
:<C-Space> (cmp.mapping.complete)
|
||||
:<CR> (cmp.mapping.confirm {:behavior cmp.ConfirmBehavior.Replace :select true})
|
||||
:<Tab> (cmp.mapping (fn [fallback]
|
||||
(if (cmp.visible) (cmp.select_prev_item)
|
||||
(luasnip.expand_or_locally_jumpable) (luasnip.expand_or_jump)
|
||||
(fallback))) [:i :s])
|
||||
:<S-Tab> (cmp.mapping (fn [fallback]
|
||||
(if (cmp.visible) (cmp.select_prev_item)
|
||||
(luasnip.locally_jumpable -1) (luasnip.jump -1)
|
||||
(fallback))) [:i :s])}})
|
||||
(let [cmp (require :cmp)
|
||||
luasnip (require :luasnip)]
|
||||
{:options (fn []
|
||||
(set vim.o.termguicolors true)
|
||||
(set vim.o.mouse :a)
|
||||
(set vim.o.clipboard :unnamedplus)
|
||||
(set vim.o.wrap false)
|
||||
(set vim.opt.colorcolumn "80,120")
|
||||
(vim.cmd.colorscheme :everforest))
|
||||
:keymap (fn []
|
||||
(let [nmap #(vim.keymap.set [:n] $1 $2 {:desc $3})]
|
||||
(nmap :<Tab> ":bnext<CR>" "Next Buffer")
|
||||
(nmap :<S-Tab> ":bprevious<CR>" "Previous Buffer")
|
||||
(nmap :<C-X> ":write|bdelete<CR>" "Save and delete buffer")
|
||||
(nmap :<C-P> ":Telescope find_files<CR>" "Telescope find_files")
|
||||
(nmap :<C-F> ":Telescope live_grep<CR>" "Telescope live_grep")
|
||||
(nmap :<C-B> ":Telescope buffers<CR>" "Telescope buffers")
|
||||
(nmap :<C-T> ":Telescope treesitter<CR>" "Telescope treesitter")))
|
||||
:treesitter-languages [:c
|
||||
:lua
|
||||
:vim
|
||||
:vimdoc
|
||||
:query
|
||||
:fennel]
|
||||
:language-servers {:lua_ls {:filetypes [:lua]
|
||||
:Lua {:workspace {:checkThirdParty false}}
|
||||
:telemetry {:enable false}
|
||||
:diagnostics {:globals [:vim]}}
|
||||
:fennel_language_server {:filetypes [:fennel]
|
||||
:fennel {:workspace {:library (vim.api.nvim_list_runtime_paths)}
|
||||
:diagnostics {:globals [:vim]}}}
|
||||
:bashls {:filetypes [:bash]}}
|
||||
:lsp-attach (fn [_ bufnr]
|
||||
(let [nmap #(vim.keymap.set :n $1 $2
|
||||
{:buffer bufnr
|
||||
:desc (.. "LSP: " $3)})
|
||||
telescope (require :telescope.builtin)]
|
||||
(nmap :gd vim.lsp.buf.definition "[G]o to [D]efiniton")
|
||||
(nmap :gr telescope.lsp_references "[G]o to [R]eferences")
|
||||
(nmap :gI vim.lsp.buf.implementation
|
||||
"[G]o to [I]mplementation")
|
||||
(vim.api.nvim_buf_create_user_command bufnr :Format
|
||||
#(vim.lsp.buf.format)
|
||||
"Format current buffer with LSP")))
|
||||
:cmp-mapping {:<C-j> (cmp.mapping.select_next_item)
|
||||
:<C-k> (cmp.mapping.select_prev_item)
|
||||
:<C-d> (cmp.mapping.scroll_docs -4)
|
||||
:<C-f> (cmp.mapping.scroll_docs 4)
|
||||
:<C-Space> (cmp.mapping.complete)
|
||||
:<CR> (cmp.mapping.confirm {:behavior cmp.ConfirmBehavior.Replace
|
||||
:select true})
|
||||
:<Tab> (cmp.mapping (fn [fallback]
|
||||
(if (cmp.visible) (cmp.select_prev_item)
|
||||
(luasnip.expand_or_locally_jumpable) (luasnip.expand_or_jump)
|
||||
(fallback)))
|
||||
[:i :s])
|
||||
:<S-Tab> (cmp.mapping (fn [fallback]
|
||||
(if (cmp.visible)
|
||||
(cmp.select_prev_item)
|
||||
(luasnip.locally_jumpable -1)
|
||||
(luasnip.jump -1) (fallback)))
|
||||
[:i :s])}})
|
||||
|
|
|
@ -1,32 +1,22 @@
|
|||
(let
|
||||
[cmp (require :cmp)
|
||||
luasnip (require :luasnip)
|
||||
vscode-snips (require :luasnip.loaders.from_vscode)
|
||||
{: cmp-mapping} (require :personalize)
|
||||
]
|
||||
(vscode-snips.lazy_load)
|
||||
(luasnip.config.setup)
|
||||
(cmp.setup
|
||||
{:snippet {:expand #(luasnip $1)}
|
||||
:mapping (cmp.mapping.preset.insert cmp-mapping)
|
||||
:sources (cmp.config.sources
|
||||
[{:name :nvim_lsp}
|
||||
{:name :luasnip}
|
||||
{:name :buffer}
|
||||
])})
|
||||
(cmp.setup.cmdline ["/" "?"]
|
||||
{:mapping (cmp.mapping.preset.cmdline)
|
||||
:sources
|
||||
[{:name :buffer}]
|
||||
})
|
||||
(cmp.setup.cmdline [":"]
|
||||
{:mapping (cmp.mapping.preset.cmdline)
|
||||
:sources (cmp.config.sources
|
||||
[{:name :path}
|
||||
{:name :cmdline}])})
|
||||
(cmp.setup.filetype [:gitcommit]
|
||||
{:mapping (cmp.mapping.preset.cmdline)
|
||||
:sources (cmp.config.sources
|
||||
[{:name :git}
|
||||
{:name :buffer}])
|
||||
}))
|
||||
(let [cmp (require :cmp)
|
||||
luasnip (require :luasnip)
|
||||
vscode-snips (require :luasnip.loaders.from_vscode)
|
||||
{: cmp-mapping} (require :personalize)]
|
||||
(vscode-snips.lazy_load)
|
||||
(luasnip.config.setup)
|
||||
(cmp.setup {:snippet {:expand #(luasnip $1)}
|
||||
:mapping (cmp.mapping.preset.insert cmp-mapping)
|
||||
:sources (cmp.config.sources [{:name :nvim_lsp}
|
||||
{:name :luasnip}
|
||||
{:name :buffer}])})
|
||||
(cmp.setup.cmdline ["/" "?"]
|
||||
{:mapping (cmp.mapping.preset.cmdline)
|
||||
:sources [{:name :buffer}]})
|
||||
(cmp.setup.cmdline [":"]
|
||||
{:mapping (cmp.mapping.preset.cmdline)
|
||||
:sources (cmp.config.sources [{:name :path}
|
||||
{:name :cmdline}])})
|
||||
(cmp.setup.filetype [:gitcommit]
|
||||
{:mapping (cmp.mapping.preset.cmdline)
|
||||
:sources (cmp.config.sources [{:name :git}
|
||||
{:name :buffer}])}))
|
||||
|
|
|
@ -1,22 +1,19 @@
|
|||
(let
|
||||
[neodev (require :neodev)
|
||||
mason (require :mason)
|
||||
mason-lspconfig (require :mason-lspconfig)
|
||||
{: language-servers : lsp-attach} (require :personalize)
|
||||
]
|
||||
(neodev.setup)
|
||||
(mason.setup)
|
||||
(mason-lspconfig.setup {:ensure_installed (vim.tbl_keys language-servers)})
|
||||
(mason-lspconfig.setup_handlers
|
||||
[(fn [server_name] (let
|
||||
[server (. (require :lspconfig) server_name)
|
||||
cmp-nvim-lsp (require :cmp_nvim_lsp)
|
||||
settings (. language-servers server_name)
|
||||
]
|
||||
(server.setup
|
||||
{:capabilities (cmp-nvim-lsp.default_capabilities (vim.lsp.protocol.make_client_capabilities))
|
||||
:on_attach lsp-attach
|
||||
:settings settings
|
||||
:filetypes (or settings.filetypes [])})))
|
||||
]))
|
||||
|
||||
(let [neodev (require :neodev)
|
||||
mason (require :mason)
|
||||
mason-lspconfig (require :mason-lspconfig)
|
||||
{: language-servers : lsp-attach} (require :personalize)]
|
||||
(neodev.setup)
|
||||
(mason.setup)
|
||||
(mason-lspconfig.setup {:ensure_installed (vim.tbl_keys language-servers)})
|
||||
(mason-lspconfig.setup_handlers
|
||||
[(fn [server_name]
|
||||
(let [server (. (require :lspconfig)
|
||||
server_name)
|
||||
cmp-nvim-lsp (require :cmp_nvim_lsp)
|
||||
settings (. language-servers
|
||||
server_name)]
|
||||
(server.setup {:capabilities (cmp-nvim-lsp.default_capabilities (vim.lsp.protocol.make_client_capabilities))
|
||||
:on_attach lsp-attach
|
||||
: settings
|
||||
:filetypes (or settings.filetypes
|
||||
[])})))]))
|
||||
|
|
|
@ -1,11 +1,7 @@
|
|||
(let
|
||||
[treesitter (require :nvim-treesitter.configs)
|
||||
{: treesitter-languages} (require :personalize)
|
||||
]
|
||||
(treesitter.setup
|
||||
{:ensure_installed treesitter-languages
|
||||
:sync_install false
|
||||
:auto_install false
|
||||
:ignore_install [] ; could :ensure_installed :all, then ignore unwanted.
|
||||
:highlight {:enable true}
|
||||
:indent {:enable true}}))
|
||||
(let [treesitter (require :nvim-treesitter.configs)
|
||||
{: treesitter-languages} (require :personalize)]
|
||||
(treesitter.setup {:ensure_installed treesitter-languages
|
||||
:sync_install false
|
||||
:auto_install true
|
||||
:highlight {:enable true}
|
||||
:indent {:enable true}}))
|
||||
|
|
Loading…
Reference in a new issue