A bunch of changes
This commit is contained in:
parent
1cbcabc97b
commit
74898aacff
190
fnl/plugin.fnl
190
fnl/plugin.fnl
@ -16,9 +16,9 @@
|
||||
(use! :nvim-treesitter/nvim-treesitter
|
||||
:config
|
||||
(setup! :nvim-treesitter.configs
|
||||
:ensure_installed :all
|
||||
:sync_install false
|
||||
:auto_install true
|
||||
;:ensure_installed :all
|
||||
;:sync_install false
|
||||
;:auto_install true
|
||||
:highlight { :enable true
|
||||
:additional_vim_regex_highlighting false }
|
||||
:indent { :enable true }))
|
||||
@ -39,12 +39,13 @@
|
||||
(setup! :lualine
|
||||
:options { :section_separators ""
|
||||
:component_separators "│" }
|
||||
:sections { :lualine_x [
|
||||
{ 1 #(.. "recording @" (vim.fn.reg_recording))
|
||||
:cond #(not= (# (vim.fn.reg_recording)) 0) }
|
||||
:encoding
|
||||
:fileformat
|
||||
:filetype ]}))
|
||||
; :sections { :lualine_x [
|
||||
; { 1 #(.. "recording @" (vim.fn.reg_recording))
|
||||
; :cond #(not= (# (vim.fn.reg_recording)) 0) }
|
||||
; :encoding
|
||||
; :fileformat
|
||||
; :filetype ]}
|
||||
))
|
||||
|
||||
;; bufferline.nvim
|
||||
(use! :akinsho/bufferline.nvim
|
||||
@ -60,10 +61,64 @@
|
||||
|
||||
;; telescope (a fuzzy finder)
|
||||
(use! :nvim-telescope/telescope.nvim
|
||||
:requires [ :nvim-lua/plenary.nvim ]
|
||||
:cmd :Telescope
|
||||
:module :telescope
|
||||
:requires [ { 1 :nvim-lua/plenary.nvim
|
||||
:opt true }
|
||||
{ 1 :nvim-telescope/telescope-ui-select.nvim
|
||||
:opt true }
|
||||
{ 1 :nvim-telescope/telescope-fzf-native.nvim
|
||||
:opt true
|
||||
:run :make }]
|
||||
:setup
|
||||
(bind! :n :<leader>fq "<cmd>Telescope quickfix<cr>")
|
||||
(bind! :n :<leader>fr "<cmd>Telescope registers<cr>")
|
||||
(bind! :n :<leader>fj "<cmd>Telescope jumplist<cr>")
|
||||
(bind! :n :<leader>fa "<cmd>Telescope marks<cr>")
|
||||
(bind! :n :<leader>fh "<cmd>Telescope help_tags<cr>")
|
||||
(bind! :n :<leader>g "<cmd>Telescope live_grep<cr>")
|
||||
(bind! :n :<leader>fg "<cmd>Telescope live_grep<cr>")
|
||||
(bind! :n :<leader>d "<cmd>Telescope treesitter<cr>")
|
||||
(bind! :n :<leader>b "<cmd>Telescope buffers<cr>")
|
||||
(bind! :n :<leader>fu "<cmd>Telescope git_status<cr>")
|
||||
(bind! :n :<leader>fm "<cmd>Telescope man_pages<cr>")
|
||||
(bind! :n :<leader>fe "<cmd>Telescope diagnostics<cr>")
|
||||
(bind! :n :<leader>fl "<cmd>Telescope loclist<cr>")
|
||||
(bind! :n :<leader>fp "<cmd>Telescope spell_suggest<cr>")
|
||||
(bind! :n :<leader>fo "<cmd>Telescope vim_options<cr>")
|
||||
(bind! :n :<leader>c "<cmd>Telescope command_history<cr>")
|
||||
(bind! :n :<leader>i "<cmd>Telescope find_files<cr>")
|
||||
(bind! :n :<leader>i "<cmd>Telescope find_files<cr>")
|
||||
(bind! :n :z= "<cmd>Telescope spell_suggest<cr>")
|
||||
(fn list-git-or-default []
|
||||
(let [code (os.execute "git rev-parse --is-inside-work-tree >/dev/null 2>&1")]
|
||||
(if (= code 0)
|
||||
(vim.cmd "Telescope git_files")
|
||||
(vim.cmd "Telescope find_files"))))
|
||||
(bind! :n :<leader>ff list-git-or-default)
|
||||
(bind! :n :<leader>u list-git-or-default)
|
||||
(fn jump-or-open-terminal []
|
||||
"If no terminal buffer exists, create one. Otherwise, open new one."
|
||||
(var term_count 0)
|
||||
(var last_id 0)
|
||||
(var terms [ ])
|
||||
(each [_ id (pairs (vim.api.nvim_list_bufs))]
|
||||
(let [name (vim.api.nvim_buf_get_name id)]
|
||||
(when (vim.startswith name "term://")
|
||||
(table.insert terms name)
|
||||
(set term_count (+ term_count 1))
|
||||
(set last_id id))))
|
||||
(if (= term_count 0)
|
||||
(vim.cmd.terminal)
|
||||
(= term_count 1)
|
||||
(vim.cmd.buffer last_id)
|
||||
(vim.cmd "Telescope buffers default_text=\"term://\"")))
|
||||
(bind! :n :<leader>t jump-or-open-terminal)
|
||||
:config
|
||||
(let [builtin (require :telescope.builtin)
|
||||
actions (require :telescope.actions)]
|
||||
(vim.cmd "PackerLoad plenary.nvim")
|
||||
(vim.cmd "PackerLoad telescope-ui-select.nvim")
|
||||
(vim.cmd "PackerLoad telescope-fzf-native.nvim")
|
||||
(let [actions (require :telescope.actions)]
|
||||
(setup! :telescope
|
||||
:defaults {
|
||||
:mappings {
|
||||
@ -75,104 +130,14 @@
|
||||
:pickers {
|
||||
:buffers {
|
||||
;;:ignore_current_buffer true
|
||||
:sort_lastused true }})
|
||||
(bind! :n :<leader>fq builtin.quickfix)
|
||||
(bind! :n :<leader>fr builtin.registers)
|
||||
(bind! :n :<leader>fj builtin.jumplist)
|
||||
(bind! :n :<leader>fa builtin.marks)
|
||||
(bind! :n :<leader>fh builtin.help_tags)
|
||||
(bind! :n :<leader>g builtin.live_grep)
|
||||
(bind! :n :<leader>fg builtin.live_grep)
|
||||
(bind! :n :<leader>b builtin.buffers)
|
||||
(bind! :n :gb builtin.buffers)
|
||||
(bind! :n :<leader>fu builtin.git_status)
|
||||
(bind! :n :<leader>fm builtin.man_pages)
|
||||
(bind! :n :<leader>fe builtin.diagnostics)
|
||||
(bind! :n :<leader>d builtin.loclist)
|
||||
(bind! :n :<leader>fp builtin.spell_suggest)
|
||||
(bind! :n :<leader>i builtin.find_files)
|
||||
(bind! :n :z= builtin.spell_suggest)
|
||||
(fn list-git-or-default []
|
||||
(let [code (os.execute "git rev-parse --is-inside-work-tree >/dev/null 2>&1")]
|
||||
(if (= code 0)
|
||||
(builtin.git_files)
|
||||
(builtin.find_files))))
|
||||
(bind! :n :<leader>ff list-git-or-default)
|
||||
(bind! :n :<leader>u list-git-or-default)
|
||||
(fn jump-or-open-terminal []
|
||||
"If no terminal buffer exists, create one. Otherwise, open new one."
|
||||
(var term_count 0)
|
||||
(var last_id 0)
|
||||
(var terms [ ])
|
||||
(each [_ id (pairs (vim.api.nvim_list_bufs))]
|
||||
(let [name (vim.api.nvim_buf_get_name id)]
|
||||
(when (vim.startswith name "term://")
|
||||
(table.insert terms name)
|
||||
(set term_count (+ term_count 1))
|
||||
(set last_id id))))
|
||||
(if (= term_count 0)
|
||||
(vim.cmd.terminal)
|
||||
(= term_count 1)
|
||||
(vim.cmd.buffer last_id)
|
||||
(builtin.buffers { :default_text "term://" })))
|
||||
(bind! :n :<leader>t jump-or-open-terminal)))
|
||||
|
||||
;; dressing.nvim nicer vim.ui stuff
|
||||
(use! :stevearc/dressing.nvim
|
||||
:after :telescope.nvim
|
||||
:config
|
||||
(setup! :dressing))
|
||||
|
||||
;; fzf (a fuzzy finder)
|
||||
;(use! :ibhagwan/fzf-lua
|
||||
; :cmd :FzfLua
|
||||
; :setup
|
||||
; (bind! :n :<leader>fq "<cmd>FzfLua quickfix<cr>")
|
||||
; (bind! :n :<leader>fr "<cmd>FzfLua registers<cr>")
|
||||
; (bind! :n :<leader>fj "<cmd>FzfLua jumps<cr>")
|
||||
; (bind! :n :<leader>fa "<cmd>FzfLua marks<cr>")
|
||||
; (bind! :n :<leader>fh "<cmd>FzfLua help_tags<cr>")
|
||||
; (bind! :n :<leader>g "<cmd>FzfLua live_grep<cr>")
|
||||
; (bind! :n :<leader>fg "<cmd>FzfLua live_grep<cr>")
|
||||
; (bind! :n :<leader>G "<cmd>FzfLua grep<cr>")
|
||||
; (bind! :n :<leader>fG "<cmd>FzfLua grep<cr>")
|
||||
; (bind! :n :<leader>b "<cmd>FzfLua buffers<cr>")
|
||||
; (bind! :n :gb "<cmd>FzfLua buffers<cr>")
|
||||
; (bind! :n :<leader>fu "<cmd>FzfLua git_status<cr>")
|
||||
; (bind! :n :<leader>fm "<cmd>FzfLua man_pages<cr>")
|
||||
; (bind! :n :<leader>fe "<cmd>FzfLua diagnostics_document<cr>")
|
||||
; (bind! :n :<leader>fE "<cmd>FzfLua diagnostics_workspace<cr>")
|
||||
; (bind! :n :<leader>d "<cmd>FzfLua loclist<cr>")
|
||||
; (bind! :n :<leader>fp "<cmd>FzfLua spell_suggest<cr>")
|
||||
; (bind! :n :<leader>i "<cmd>FzfLua files<cr>")
|
||||
; (bind! :n :z= "<cmd>FzfLua spell_suggest<cr>")
|
||||
; (fn list-git-or-default []
|
||||
; (let [code (os.execute "git rev-parse --is-inside-work-tree >/dev/null 2>&1")]
|
||||
; (if (= code 0)
|
||||
; (vim.cmd "FzfLua git_files")
|
||||
; (vim.cmd "FzfLua files"))))
|
||||
; (bind! :n :<leader>ff list-git-or-default)
|
||||
; (bind! :n :<leader>u list-git-or-default)
|
||||
; (fn jump-or-open-terminal []
|
||||
; "If no terminal buffer exists, create one. Otherwise, open new one."
|
||||
; (var term_count 0)
|
||||
; (var last_id 0)
|
||||
; (var terms [ ])
|
||||
; (each [_ id (pairs (vim.api.nvim_list_bufs))]
|
||||
; (let [name (vim.api.nvim_buf_get_name id)]
|
||||
; (when (vim.startswith name "term://")
|
||||
; (table.insert terms name)
|
||||
; (set term_count (+ term_count 1))
|
||||
; (set last_id id))))
|
||||
; (if (= term_count 0)
|
||||
; (vim.cmd.terminal)
|
||||
; (= term_count 1)
|
||||
; (vim.cmd.buffer last_id)
|
||||
; (vim.cmd "FzfLua buffers query=term://")))
|
||||
; (bind! :n :<leader>t jump-or-open-terminal)
|
||||
; :config
|
||||
; (let [fzf (require :fzf-lua)]
|
||||
; (fzf.register_ui_select)))
|
||||
:sort_lastused true }}
|
||||
:extensions {
|
||||
:ui-select [
|
||||
(module-call! :telescope.themes :get_dropdown)
|
||||
]
|
||||
})
|
||||
(module-call! :telescope :load_extension :ui-select)
|
||||
(module-call! :telescope :load_extension :fzf)))
|
||||
|
||||
;; Nvim surround
|
||||
(use! :kylechui/nvim-surround
|
||||
@ -202,6 +167,7 @@
|
||||
|
||||
;; Comment.nvim
|
||||
(use! :numToStr/Comment.nvim
|
||||
:keys [ :gc :gb ]
|
||||
:config
|
||||
(setup! :Comment))
|
||||
|
||||
@ -277,7 +243,7 @@
|
||||
(bind! :n :<leader>ci "<cmd>IconPickerNormal<cr>")
|
||||
(bind! :n :<leader>cy "<cmd>IconPickerYank<cr>")
|
||||
:config
|
||||
;;(vim.cmd "PackerLoad fzf-lua")
|
||||
(vim.cmd "PackerLoad telescope.nvim")
|
||||
(setup! :icon-picker
|
||||
:disable_legacy_commands true))
|
||||
|
||||
@ -296,6 +262,7 @@
|
||||
:cmd [ :Format :FormatWrite ]
|
||||
:setup
|
||||
(bind! :n :<leader>o "<cmd>Format<cr>")
|
||||
(bind! :x :<leader>o ":Format<cr>")
|
||||
:config
|
||||
(setup! :formatter
|
||||
:logging true
|
||||
@ -335,6 +302,7 @@
|
||||
|
||||
;; nvim-jdtls
|
||||
(use! :mfussenegger/nvim-jdtls
|
||||
:ft :java
|
||||
:after :nvim-lspconfig
|
||||
:config
|
||||
(module-call! :plugin.jdtls :configure))
|
||||
|
@ -2,47 +2,40 @@
|
||||
|
||||
(import-macros {: bind!} :macros)
|
||||
|
||||
(fn on-attach [_ buf]
|
||||
(fn on-attach [client buf]
|
||||
((. (. (require :cmp) :setup) :buffer) {
|
||||
:sources [{ :name "nvim_lsp" :priority 1 :group 1 }
|
||||
{ :name "snippy" :priority 1 :group 2 }
|
||||
{ :name "buffer" :priority 0 :group 3 }
|
||||
{ :name "path" :priority 0 :group 4 }]})
|
||||
(bind! :n :gD vim.lsp.buf.declaration buf)
|
||||
;; (bind! :n :gd vim.lsp.buf.definition buf)
|
||||
; (bind! :n :gd vim.lsp.buf.definition buf)
|
||||
(bind! :n :K vim.lsp.buf.hover buf)
|
||||
;; (bind! :n :gI vim.lsp.buf.implementation buf)
|
||||
; (bind! :n :gI vim.lsp.buf.implementation buf)
|
||||
(bind! :n :<C-k> vim.lsp.buf.signature_help buf)
|
||||
(bind! :n :<leader>wa vim.lsp.buf.add_workspace_folder buf)
|
||||
(bind! :n :<leader>wr vim.lsp.buf.remove_workspace_folder buf)
|
||||
(bind! :n :<leader>wl #(print (vim.inspect
|
||||
(vim.lsp.buf.list_workspace_folders))) buf)
|
||||
(bind! :n :<leader>D vim.lsp.buf.type_definition buf)
|
||||
; (bind! :n :<leader>D vim.lsp.buf.type_definition buf)
|
||||
(bind! :n :<leader>rn vim.lsp.buf.rename buf)
|
||||
(bind! :n :<leader>cn vim.lsp.buf.code_action buf)
|
||||
; (bind! :n :gr vim.lsp.buf.references buf)
|
||||
; (bind! :n :<leader>o #(vim.lsp.buf.format { :async true }) buf)
|
||||
|
||||
;; Some fzf commands
|
||||
;(bind! :n :gr "<cmd>FzfLua lsp_references<cr>" buf)
|
||||
;(bind! :n :<leader>s "<cmd>FzfLua lsp_live_workspace_symbols<cr>" buf)
|
||||
;(bind! :n :<leader>fs "<cmd>FzfLua lsp_live_workspace_symbols<cr>" buf)
|
||||
;(bind! :n :<leader>fS "<cmd>FzfLua lsp_workspace_symbols<cr>" buf)
|
||||
;(bind! :n :<leader>d "<cmd>FzfLua lsp_document_symbols<cr>" buf)
|
||||
;(bind! :n :<leader>fd "<cmd>FzfLua lsp_document_symbols<cr>" buf)
|
||||
;(bind! :n :<leader>cn "<cmd>FzfLua lsp_code_actions<cr>" buf)
|
||||
;(when client.server_capabilities.documentFormattingProvider
|
||||
; (bind! :n :<leader>o #(vim.lsp.buf.format { :async true }) buf))
|
||||
|
||||
;; Some telescope commands
|
||||
(let [builtin (require :telescope.builtin)]
|
||||
(bind! :n :gr builtin.lsp_references buf)
|
||||
(bind! :n :<leader>s builtin.lsp_live_workspace_symbols buf)
|
||||
(bind! :n :<leader>fs builtin.lsp_live_workspace_symbols buf)
|
||||
(bind! :n :<leader>fS builtin.lsp_workspace_symbols buf)
|
||||
(bind! :n :<leader>d builtin.lsp_document_symbols buf)
|
||||
(bind! :n :<leader>fd builtin.lsp_document_symbols buf)
|
||||
(bind! :n :<leader>cn builtin.lsp_code_actions buf)
|
||||
(bind! :n :gd vim.lsp.buf.definition buf)
|
||||
(bind! :n :gI vim.lsp.buf.implementation buf)))
|
||||
(bind! :n :<leader>s "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>" buf)
|
||||
(bind! :n :<leader>fs "<cmd>Telescope lsp_dynamic_workspace_symbols<cr>" buf)
|
||||
(bind! :n :<leader>fS "<cmd>Telescope lsp_workspace_symbols<cr>" buf)
|
||||
;(print (vim.inspect client.server_capabilities))
|
||||
(when client.server_capabilities.documentSymbolProvider
|
||||
(bind! :n :<leader>d "<cmd>Telescope lsp_document_symbols<cr>" buf)
|
||||
(bind! :n :<leader>fd "<cmd>Telescope lsp_document_symbols<cr>" buf))
|
||||
(bind! :n :gr "<cmd>Telescope lsp_references<cr>" buf)
|
||||
(bind! :n :gd "<cmd>Telescope lsp_definitions<cr>" buf)
|
||||
(bind! :n :gI "<cmd>Telescope lsp_implementations<cr>" buf)
|
||||
(bind! :n :D "<cmd>Telescope lsp_type_definitions<cr>" buf))
|
||||
|
||||
|
||||
(fn get-data-dir [server root]
|
||||
|
Reference in New Issue
Block a user