Remove null-ls

This commit is contained in:
Alexander Rosenberg 2023-08-16 11:22:03 -07:00
parent 77b6768742
commit 7ae183d64b
Signed by: Zander671
GPG Key ID: 5FD0394ADBD72730
3 changed files with 45 additions and 64 deletions

View File

@ -116,10 +116,16 @@
`(let [save# (vim.fn.winsaveview)] `(let [save# (vim.fn.winsaveview)]
,(unpack args)))) ,(unpack args))))
;; Returns the keys for table
;; Careful, this finds them will a loop every time it is called!
(lambda keys! [table]
`(icollect [key# _# (pairs ,table)] key#))
{: bind! {: bind!
: hook! : hook!
: use! : use!
: setup! : setup!
: module-call! : module-call!
: module-fn! : module-fn!
: save-excursion!} : save-excursion!
: keys!}

View File

@ -2,7 +2,8 @@
(import-macros {: bind! : hook! (import-macros {: bind! : hook!
: use! : setup! : use! : setup!
: module-call!} :macros) : module-call!
: module-fn! } :macros)
(fn [use] (fn [use]
;; Packer ;; Packer
@ -46,14 +47,7 @@
:config :config
(setup! :lualine (setup! :lualine
:options { :section_separators "" :options { :section_separators ""
:component_separators "│" } :component_separators "│" }))
; :sections { :lualine_x [
; { 1 #(.. "recording @" (vim.fn.reg_recording))
; :cond #(not= (# (vim.fn.reg_recording)) 0) }
; :encoding
; :fileformat
; :filetype ]}
))
;; bufferline.nvim ;; bufferline.nvim
(use! :akinsho/bufferline.nvim (use! :akinsho/bufferline.nvim
@ -197,23 +191,43 @@
:config :config
(module-call! :plugin.lsp :configure)) (module-call! :plugin.lsp :configure))
(use! :jose-elias-alvarez/null-ls.nvim
:after :nvim-lspconfig
:config
(module-call! :plugin.lsp :setup-null-ls))
(use! :j-hui/fidget.nvim
:after :nvim-lspconfig
:config
(setup! :fidget))
;; nvim-jdtls ;; nvim-jdtls
(use! :mfussenegger/nvim-jdtls (use! :mfussenegger/nvim-jdtls
:ft :java
:after :nvim-lspconfig
:config :config
(module-call! :plugin.jdtls :configure)) (module-call! :plugin.jdtls :configure))
;; formatter.nvim
(use! :mhartington/formatter.nvim
:cmd [ :Format :FormatWrite ]
:setup
(bind! :n :<leader>o "<cmd>Format<cr>")
(bind! :v :<leader>o ":Format<cr>")
:config
(setup! :formatter
:logging true
:log_level _G.vim.log.levels.WARN
:filetype {
:c [ (module-fn! :formatter.filetypes.c :astyle) ]
:cpp [ (module-fn! :formatter.filetypes.cpp :astyle) ]
:cmake [
(module-fn! :formatter.filetypes.cmake :cmakeformat) ]
:java [ (fn [] {:exe :astyle
:stdin true
:args [ :--mode=java ]}) ]
:sh [ (module-fn! :formatter.filetypes.sh :shfmt) ]
:rust [ (module-fn! :formatter.filetypes.rust :rustfmt) ]
:tex [ (module-fn! :formatter.filetypes.latex :latexindent) ]
:python [ (module-fn! :formatter.filetypes.python :yapf) ]
:json [ (module-fn! :formatter.filetypes.json :prettier) ]
:html [ (module-fn! :formatter.filetypes.html :prettier) ]
:css [ (module-fn! :formatter.filetypes.css :prettier) ]
:javascript [ (module-fn! :formatter.filetypes.javascript :prettier) ]
:markdown [
(module-fn! :formatter.filetypes.markdown :prettier ) ]
:fennel [ (fn [] {:exe :fnlfmt
:stdin true
:args [ "-" ]})]}))
;; Sync all packages on first launch ;; Sync all packages on first launch
(if _G.first_launch (if _G.first_launch
(module-call! :packer :sync))) (module-call! :packer :sync)))

View File

@ -21,13 +21,8 @@
(bind! :n :<leader>rn vim.lsp.buf.rename buf) (bind! :n :<leader>rn vim.lsp.buf.rename buf)
(bind! :n :<leader>cn vim.lsp.buf.code_action buf) (bind! :n :<leader>cn vim.lsp.buf.code_action buf)
; (bind! :n :gr vim.lsp.buf.references buf) ; (bind! :n :gr vim.lsp.buf.references buf)
(bind! [ :n :v ] :<leader>o (when (= client.name :rust_analyzer)
#(vim.lsp.buf.format { :filter (bind! [ :n :v ] :<leader>o #(vim.lsp.buf.format {:async true})))
;; use null-ls for formatting
(fn [client] (or
(= client.name :null-ls)
(= client.name :rust_analyzer)))
:async true }) buf)
;; Use builtin formatexpr ;; Use builtin formatexpr
(vim.api.nvim_buf_set_option buf :formatexpr "") (vim.api.nvim_buf_set_option buf :formatexpr "")
@ -111,38 +106,4 @@
:diagnostics { :diagnostics {
:globals [ "vim" ] }}}))) :globals [ "vim" ] }}})))
(fn setup-null-ls [] {: configure : on-attach : get-data-dir }
(let [builtins (. (require :null-ls) :builtins)]
(setup! :null-ls
:on_attach (fn [client buf]
(bind! [ :n :v ]
:<leader>o
#(vim.lsp.buf.format
{ :filter
;; use null-ls for formatting
(fn [client]
(or
(= client.name :null-ls)
(= client.name :rust_analyzer)))
:async true }) buf)
(vim.api.nvim_buf_set_option buf :formatexpr ""))
:sources [
builtins.formatting.astyle
builtins.formatting.prettier
builtins.formatting.yapf
builtins.formatting.fnlfmt
builtins.formatting.shfmt
builtins.formatting.cmake_format
builtins.formatting.latexindent
builtins.formatting.stylua
builtins.code_actions.shellcheck
(builtins.completion.spell.with { :filetypes [ :text
:markdown
:tex ]})
builtins.diagnostics.cmake_lint
;;builtins.diagnostics.codespell
;;builtins.diagnostics.shellcheck
(builtins.diagnostics.glslc.with
{ :extra_args [ "--target-env=opengl" ]})])))
{: configure : on-attach : get-data-dir : setup-null-ls }