From eb432ad9a3cced754ccc1718948c253d6a9b8464 Mon Sep 17 00:00:00 2001 From: Jeff Lance Date: Sun, 23 Apr 2023 19:53:07 +0200 Subject: [PATCH 1/3] update task for lvim --- conf.d/lvim/config.lua | 385 +---------------------------------------- conf/lvim.lua | 384 ++++++++++++++++++++++++++++++++++++++++ meta/tasks/lvim.yaml | 5 +- 3 files changed, 387 insertions(+), 387 deletions(-) mode change 100644 => 120000 conf.d/lvim/config.lua create mode 100644 conf/lvim.lua diff --git a/conf.d/lvim/config.lua b/conf.d/lvim/config.lua deleted file mode 100644 index 665dd48..0000000 --- a/conf.d/lvim/config.lua +++ /dev/null @@ -1,384 +0,0 @@ ---[[ -lvim is the global options object - -Linters should be -filled in as strings with either -a global executable or a path to -an executable -]] --- THESE ARE EXAMPLE CONFIGS FEEL FREE TO CHANGE TO WHATEVER YOU WANT - - - --- general --- - -lvim.log.level = "warn" -lvim.format_on_save.enabled = false -lvim.colorscheme = "onedark_dark" -lvim.background = "dark" -lvim.transparent_window = true --- to disable icons and use a minimalist setup, uncomment the following --- lvim.use_icons = false - - - --- keymappings [view all the defaults by pressing Lk] --- - -lvim.leader = ";" - -lvim.keys.insert_mode[";;"] = "" -lvim.keys.normal_mode[""] = ":w" -lvim.keys.normal_mode[""] = ":redo" -lvim.keys.normal_mode[""] = ":undo" -lvim.keys.normal_mode[""] = "<<" -lvim.keys.normal_mode[""] = ">>" - -lvim.builtin.which_key.mappings["d"] = lvim.builtin.which_key.mappings[";"] - -lvim.builtin.which_key.mappings["G"] = lvim.builtin.which_key.mappings["g"] -lvim.builtin.which_key.mappings["g"] = {} - -lvim.builtin.which_key.mappings["Lv"] = lvim.builtin.which_key.mappings["L"] -lvim.builtin.which_key.mappings["L"] = lvim.builtin.which_key.mappings["l"] -lvim.builtin.which_key.mappings["l"] = {} - -lvim.builtin.which_key.mappings["P"] = lvim.builtin.which_key.mappings["p"] -lvim.builtin.which_key.mappings["p"] = { "Telescope projects", "Projects" } - -lvim.builtin.which_key.mappings["S"] = lvim.builtin.which_key.mappings["s"] -lvim.builtin.which_key.mappings["s"] = { "echom 'Sourcing' source %", "Source current file" } - -lvim.builtin.which_key.mappings["r"] = { "Telescope oldfiles", "Open recent file" } - -lvim.builtin.which_key.mappings["z"] = { - name = "+Zettel", - c = { "lua require('neuron/cmd').new_edit('/home/jeff/Notes/')", "Create new note" }, - z = { "lua require'neuron/telescope'.find_zettels()", "Find notes" }, - Z = { "lua require'neuron/telescope'.find_zettels {insert = true}", "Insert the found note ID" }, - b = { "lua require'neuron/telescope'.find_backlinks()", "Backlinks of the current note" }, - B = { "lua require'neuron/telescope'.find_backlinks {insert = true}", "As b but insert the found ID" }, - t = { "lua require'neuron/telescope'.find_tags()", "Find all tags and insert" }, - s = { "lua require'neuron'.rib {address = '127.0.0.1:8200', verbose = true}", "Start neuron server" }, - n = { "lua require'neuron'.goto_next_extmark()", "Goto next link" }, - p = { "lua require'neuron'.goto_prev_extmark()", "Goto previous link" }, -} - -lvim.builtin.which_key.mappings["x"] = { "w! q!", "Save and quit"} - -lvim.builtin.which_key.mappings[";"] = {} -lvim.builtin.terminal.open_mapping = "" - - - --- Change theme settings --- - --- lvim.builtin.theme.options.dim_inactive = true --- lvim.builtin.theme.options.style = "storm" - --- TODO: User Config for predefined plugins --- After changing plugin config exit and reopen LunarVim, Run :PackerInstall :PackerCompile -lvim.builtin.alpha.active = true -lvim.builtin.alpha.mode = "dashboard" -lvim.builtin.terminal.active = true -lvim.builtin.nvimtree.setup.view.side = "left" -lvim.builtin.nvimtree.setup.renderer.icons.show.git = false - --- if you don't want all the parsers change this to a table of the ones you want -lvim.builtin.treesitter.ensure_installed = { - "bash", - "c", - "javascript", - "json", - "lua", - "python", - "typescript", - "tsx", - "css", - "rust", - "java", - "yaml", - "zsh", -} - -lvim.builtin.treesitter.ignore_install = { "haskell" } -lvim.builtin.treesitter.highlight.enable = true - - - --- generic LSP settings --- - --- -- make sure server will always be installed even if the server is in skipped_servers list --- lvim.lsp.installer.setup.ensure_installed = { --- "sumneko_lua", --- "jsonls", --- } --- -- change UI setting of `LspInstallInfo` --- -- see --- lvim.lsp.installer.setup.ui.check_outdated_servers_on_open = false --- lvim.lsp.installer.setup.ui.border = "rounded" --- lvim.lsp.installer.setup.ui.keymaps = { --- uninstall_server = "d", --- toggle_server_expand = "o", --- } - --- ---@usage disable automatic installation of servers --- lvim.lsp.installer.setup.automatic_installation = false - --- ---configure a server manually. !!Requires `:LvimCacheReset` to take effect!! --- ---see the full default list `:lua print(vim.inspect(lvim.lsp.automatic_configuration.skipped_servers))` --- vim.list_extend(lvim.lsp.automatic_configuration.skipped_servers, { "pyright" }) --- local opts = {} -- check the lspconfig documentation for a list of all possible options --- require("lvim.lsp.manager").setup("pyright", opts) - --- ---remove a server from the skipped list, e.g. eslint, or emmet_ls. !!Requires `:LvimCacheReset` to take effect!! --- ---`:LvimInfo` lists which server(s) are skipped for the current filetype --- lvim.lsp.automatic_configuration.skipped_servers = vim.tbl_filter(function(server) --- return server ~= "emmet_ls" --- end, lvim.lsp.automatic_configuration.skipped_servers) - --- -- you can set a custom on_attach function that will be used for all the language servers --- -- See --- lvim.lsp.on_attach_callback = function(client, bufnr) --- local function buf_set_option(...) --- vim.api.nvim_buf_set_option(bufnr, ...) --- end --- --Enable completion triggered by --- buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc") --- end - --- -- set a formatter, this will override the language server formatting capabilities (if it exists) --- local formatters = require "lvim.lsp.null-ls.formatters" --- formatters.setup { --- { command = "black", filetypes = { "python" } }, --- { command = "isort", filetypes = { "python" } }, --- { --- -- each formatter accepts a list of options identical to https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md#Configuration --- command = "prettier", --- ---@usage arguments to pass to the formatter --- -- these cannot contain whitespaces, options such as `--line-width 80` become either `{'--line-width', '80'}` or `{'--line-width=80'}` --- extra_args = { "--print-with", "100" }, --- ---@usage specify which filetypes to enable. By default a providers will attach to all the filetypes it supports. --- filetypes = { "typescript", "typescriptreact" }, --- }, --- } - --- -- set additional linters --- local linters = require "lvim.lsp.null-ls.linters" --- linters.setup { --- { command = "flake8", filetypes = { "python" } }, --- { --- -- each linter accepts a list of options identical to https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md#Configuration --- command = "shellcheck", --- ---@usage arguments to pass to the formatter --- -- these cannot contain whitespaces, options such as `--line-width 80` become either `{'--line-width', '80'}` or `{'--line-width=80'}` --- extra_args = { "--severity", "warning" }, --- }, --- { --- command = "codespell", --- ---@usage specify which filetypes to enable. By default a providers will attach to all the filetypes it supports. --- filetypes = { "javascript", "python" }, --- }, --- } - - - --- Additional Plugins --- - -lvim.plugins = { - -- colorschemes - { - 'Abstract-IDE/Abstract-cs', - }, - { - 'ishan9299/modus-theme-vim', - }, - { - 'NLKNguyen/papercolor-theme', - }, - { - 'olimorris/onedarkpro.nvim', - priority = 1000, - config = function () - require("onedarkpro").setup({ - colors = { - onedark = { - bg = "#000000" -- black - }, - onelight = { - bg = "#FFFFFF" -- white - }, - -- cursorline = "#FF0000", - }, - styles = { - types = "NONE", - methods = "NONE", - numbers = "NONE", - strings = "NONE", - comments = "italic", - keywords = "bold,italic", - constants = "NONE", - functions = "italic", - operators = "NONE", - variables = "NONE", - parameters = "NONE", - conditionals = "italic", - virtual_text = "NONE", - }, - options = { - cursorline = true, - transparency = true, - } - }) - end - }, - -- asyncrun - { - "skywind3000/asyncrun.vim", - }, - -- trouble - { - 'folke/trouble.nvim', - cmd = "TroubleToggle", - }, - -- neuron: note taking - { - 'oberblastmeister/neuron.nvim', - config = function() - require("neuron").setup({ - virtual_titles = true, - mappings = true, - run = nil, - neuron_dir = "~/Notes", - leader = ";z", - }) - end, - }, - -- markdown previewer - { - 'iamcco/markdown-preview.nvim', - run = "cd app && npm install", - ft = "markdown", - config = function() - vim.g.mkdp_auto_start = 1 - end, - }, - -- vim-surround - { - 'tpope/vim-surround', - config = function() - vim.o.timeoutlen = 500 - end - -- make sure to change the value of `timeoutlen` if it's not triggering correctly, see https://github.com/tpope/vim-surround/issues/117 - -- setup = function() - -- vim.o.timeoutlen = 500 - -- end - }, - -- colorizer: color highlighter - { - 'norcalli/nvim-colorizer.lua', - config = function() - require("colorizer").setup({ '*' }, { - RGB = true, -- #RGB hex codes - RRGGBB = true, -- #RRGGBB hex codes - RRGGBBAA = true, -- #RRGGBBAA hex codes - rgb_fn = true, -- CSS rgb() and rgba() functions - hsl_fn = true, -- CSS hsl() and hsla() functions - css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB - css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn - mode = 'background', - }) - end, - }, - -- minimap - { - 'echasnovski/mini.map', - branch = "stable", - config = function() - require('mini.map').setup() - local map = require('mini.map') - map.setup({ - integrations = { - map.gen_integration.builtin_search(), - map.gen_integration.diagnostic({ - error = 'DiagnosticFloatingError', - warn = 'DiagnosticFloatingWarn', - info = 'DiagnosticFloatingInfo', - hint = 'DiagnosticFloatingHint', - }), - }, - symbols = { - encode = map.gen_encode_symbols.dot('2x1'), - }, - window = { - side = 'right', - width = 20, -- set to 1 for a pure scrollbar :) - winblend = 15, - show_integration_count = false, - }, - }) - end - }, - -- telescope-project - { - "nvim-telescope/telescope-project.nvim", - event = "BufWinEnter", - setup = function() - vim.cmd [[packadd telescope.nvim]] - end, - }, -} - - - --- Autocommands (https://neovim.io/doc/user/autocmd.html) --- - --- minimap view -lvim.autocommands = { - { - {"BufEnter", "Filetype"}, - { - desc = "Open mini.map and exclude some filetypes", - pattern = { "*" }, - callback = function() - local exclude_ft = { - "qf", - "NvimTree", - "toggleterm", - "TelescopePrompt", - "alpha", - "netrw", - } - - local map = require('mini.map') - if vim.tbl_contains(exclude_ft, vim.o.filetype) then - vim.b.minimap_disable = true - map.close() - elseif vim.o.buftype == "" then - map.open() - end - end, - }, - }, -} - --- wrap mode for json files -vim.api.nvim_create_autocmd("BufEnter", { - pattern = { "*.json", "*.jsonc" }, - -- enable wrap mode for json files only - command = "setlocal wrap", -}) - --- bash highlight for zsh files -vim.api.nvim_create_autocmd("FileType", { - pattern = "zsh", - callback = function() - -- let treesitter use bash highlight for zsh files as well - require("nvim-treesitter.highlight").attach(0, "bash") - end, -}) diff --git a/conf.d/lvim/config.lua b/conf.d/lvim/config.lua new file mode 120000 index 0000000..58e5839 --- /dev/null +++ b/conf.d/lvim/config.lua @@ -0,0 +1 @@ +/home/jeff/dotfiles/conf/lvim.lua \ No newline at end of file diff --git a/conf/lvim.lua b/conf/lvim.lua new file mode 100644 index 0000000..665dd48 --- /dev/null +++ b/conf/lvim.lua @@ -0,0 +1,384 @@ +--[[ +lvim is the global options object + +Linters should be +filled in as strings with either +a global executable or a path to +an executable +]] +-- THESE ARE EXAMPLE CONFIGS FEEL FREE TO CHANGE TO WHATEVER YOU WANT + + + +-- general +-- + +lvim.log.level = "warn" +lvim.format_on_save.enabled = false +lvim.colorscheme = "onedark_dark" +lvim.background = "dark" +lvim.transparent_window = true +-- to disable icons and use a minimalist setup, uncomment the following +-- lvim.use_icons = false + + + +-- keymappings [view all the defaults by pressing Lk] +-- + +lvim.leader = ";" + +lvim.keys.insert_mode[";;"] = "" +lvim.keys.normal_mode[""] = ":w" +lvim.keys.normal_mode[""] = ":redo" +lvim.keys.normal_mode[""] = ":undo" +lvim.keys.normal_mode[""] = "<<" +lvim.keys.normal_mode[""] = ">>" + +lvim.builtin.which_key.mappings["d"] = lvim.builtin.which_key.mappings[";"] + +lvim.builtin.which_key.mappings["G"] = lvim.builtin.which_key.mappings["g"] +lvim.builtin.which_key.mappings["g"] = {} + +lvim.builtin.which_key.mappings["Lv"] = lvim.builtin.which_key.mappings["L"] +lvim.builtin.which_key.mappings["L"] = lvim.builtin.which_key.mappings["l"] +lvim.builtin.which_key.mappings["l"] = {} + +lvim.builtin.which_key.mappings["P"] = lvim.builtin.which_key.mappings["p"] +lvim.builtin.which_key.mappings["p"] = { "Telescope projects", "Projects" } + +lvim.builtin.which_key.mappings["S"] = lvim.builtin.which_key.mappings["s"] +lvim.builtin.which_key.mappings["s"] = { "echom 'Sourcing' source %", "Source current file" } + +lvim.builtin.which_key.mappings["r"] = { "Telescope oldfiles", "Open recent file" } + +lvim.builtin.which_key.mappings["z"] = { + name = "+Zettel", + c = { "lua require('neuron/cmd').new_edit('/home/jeff/Notes/')", "Create new note" }, + z = { "lua require'neuron/telescope'.find_zettels()", "Find notes" }, + Z = { "lua require'neuron/telescope'.find_zettels {insert = true}", "Insert the found note ID" }, + b = { "lua require'neuron/telescope'.find_backlinks()", "Backlinks of the current note" }, + B = { "lua require'neuron/telescope'.find_backlinks {insert = true}", "As b but insert the found ID" }, + t = { "lua require'neuron/telescope'.find_tags()", "Find all tags and insert" }, + s = { "lua require'neuron'.rib {address = '127.0.0.1:8200', verbose = true}", "Start neuron server" }, + n = { "lua require'neuron'.goto_next_extmark()", "Goto next link" }, + p = { "lua require'neuron'.goto_prev_extmark()", "Goto previous link" }, +} + +lvim.builtin.which_key.mappings["x"] = { "w! q!", "Save and quit"} + +lvim.builtin.which_key.mappings[";"] = {} +lvim.builtin.terminal.open_mapping = "" + + + +-- Change theme settings +-- + +-- lvim.builtin.theme.options.dim_inactive = true +-- lvim.builtin.theme.options.style = "storm" + +-- TODO: User Config for predefined plugins +-- After changing plugin config exit and reopen LunarVim, Run :PackerInstall :PackerCompile +lvim.builtin.alpha.active = true +lvim.builtin.alpha.mode = "dashboard" +lvim.builtin.terminal.active = true +lvim.builtin.nvimtree.setup.view.side = "left" +lvim.builtin.nvimtree.setup.renderer.icons.show.git = false + +-- if you don't want all the parsers change this to a table of the ones you want +lvim.builtin.treesitter.ensure_installed = { + "bash", + "c", + "javascript", + "json", + "lua", + "python", + "typescript", + "tsx", + "css", + "rust", + "java", + "yaml", + "zsh", +} + +lvim.builtin.treesitter.ignore_install = { "haskell" } +lvim.builtin.treesitter.highlight.enable = true + + + +-- generic LSP settings +-- + +-- -- make sure server will always be installed even if the server is in skipped_servers list +-- lvim.lsp.installer.setup.ensure_installed = { +-- "sumneko_lua", +-- "jsonls", +-- } +-- -- change UI setting of `LspInstallInfo` +-- -- see +-- lvim.lsp.installer.setup.ui.check_outdated_servers_on_open = false +-- lvim.lsp.installer.setup.ui.border = "rounded" +-- lvim.lsp.installer.setup.ui.keymaps = { +-- uninstall_server = "d", +-- toggle_server_expand = "o", +-- } + +-- ---@usage disable automatic installation of servers +-- lvim.lsp.installer.setup.automatic_installation = false + +-- ---configure a server manually. !!Requires `:LvimCacheReset` to take effect!! +-- ---see the full default list `:lua print(vim.inspect(lvim.lsp.automatic_configuration.skipped_servers))` +-- vim.list_extend(lvim.lsp.automatic_configuration.skipped_servers, { "pyright" }) +-- local opts = {} -- check the lspconfig documentation for a list of all possible options +-- require("lvim.lsp.manager").setup("pyright", opts) + +-- ---remove a server from the skipped list, e.g. eslint, or emmet_ls. !!Requires `:LvimCacheReset` to take effect!! +-- ---`:LvimInfo` lists which server(s) are skipped for the current filetype +-- lvim.lsp.automatic_configuration.skipped_servers = vim.tbl_filter(function(server) +-- return server ~= "emmet_ls" +-- end, lvim.lsp.automatic_configuration.skipped_servers) + +-- -- you can set a custom on_attach function that will be used for all the language servers +-- -- See +-- lvim.lsp.on_attach_callback = function(client, bufnr) +-- local function buf_set_option(...) +-- vim.api.nvim_buf_set_option(bufnr, ...) +-- end +-- --Enable completion triggered by +-- buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc") +-- end + +-- -- set a formatter, this will override the language server formatting capabilities (if it exists) +-- local formatters = require "lvim.lsp.null-ls.formatters" +-- formatters.setup { +-- { command = "black", filetypes = { "python" } }, +-- { command = "isort", filetypes = { "python" } }, +-- { +-- -- each formatter accepts a list of options identical to https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md#Configuration +-- command = "prettier", +-- ---@usage arguments to pass to the formatter +-- -- these cannot contain whitespaces, options such as `--line-width 80` become either `{'--line-width', '80'}` or `{'--line-width=80'}` +-- extra_args = { "--print-with", "100" }, +-- ---@usage specify which filetypes to enable. By default a providers will attach to all the filetypes it supports. +-- filetypes = { "typescript", "typescriptreact" }, +-- }, +-- } + +-- -- set additional linters +-- local linters = require "lvim.lsp.null-ls.linters" +-- linters.setup { +-- { command = "flake8", filetypes = { "python" } }, +-- { +-- -- each linter accepts a list of options identical to https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md#Configuration +-- command = "shellcheck", +-- ---@usage arguments to pass to the formatter +-- -- these cannot contain whitespaces, options such as `--line-width 80` become either `{'--line-width', '80'}` or `{'--line-width=80'}` +-- extra_args = { "--severity", "warning" }, +-- }, +-- { +-- command = "codespell", +-- ---@usage specify which filetypes to enable. By default a providers will attach to all the filetypes it supports. +-- filetypes = { "javascript", "python" }, +-- }, +-- } + + + +-- Additional Plugins +-- + +lvim.plugins = { + -- colorschemes + { + 'Abstract-IDE/Abstract-cs', + }, + { + 'ishan9299/modus-theme-vim', + }, + { + 'NLKNguyen/papercolor-theme', + }, + { + 'olimorris/onedarkpro.nvim', + priority = 1000, + config = function () + require("onedarkpro").setup({ + colors = { + onedark = { + bg = "#000000" -- black + }, + onelight = { + bg = "#FFFFFF" -- white + }, + -- cursorline = "#FF0000", + }, + styles = { + types = "NONE", + methods = "NONE", + numbers = "NONE", + strings = "NONE", + comments = "italic", + keywords = "bold,italic", + constants = "NONE", + functions = "italic", + operators = "NONE", + variables = "NONE", + parameters = "NONE", + conditionals = "italic", + virtual_text = "NONE", + }, + options = { + cursorline = true, + transparency = true, + } + }) + end + }, + -- asyncrun + { + "skywind3000/asyncrun.vim", + }, + -- trouble + { + 'folke/trouble.nvim', + cmd = "TroubleToggle", + }, + -- neuron: note taking + { + 'oberblastmeister/neuron.nvim', + config = function() + require("neuron").setup({ + virtual_titles = true, + mappings = true, + run = nil, + neuron_dir = "~/Notes", + leader = ";z", + }) + end, + }, + -- markdown previewer + { + 'iamcco/markdown-preview.nvim', + run = "cd app && npm install", + ft = "markdown", + config = function() + vim.g.mkdp_auto_start = 1 + end, + }, + -- vim-surround + { + 'tpope/vim-surround', + config = function() + vim.o.timeoutlen = 500 + end + -- make sure to change the value of `timeoutlen` if it's not triggering correctly, see https://github.com/tpope/vim-surround/issues/117 + -- setup = function() + -- vim.o.timeoutlen = 500 + -- end + }, + -- colorizer: color highlighter + { + 'norcalli/nvim-colorizer.lua', + config = function() + require("colorizer").setup({ '*' }, { + RGB = true, -- #RGB hex codes + RRGGBB = true, -- #RRGGBB hex codes + RRGGBBAA = true, -- #RRGGBBAA hex codes + rgb_fn = true, -- CSS rgb() and rgba() functions + hsl_fn = true, -- CSS hsl() and hsla() functions + css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB + css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn + mode = 'background', + }) + end, + }, + -- minimap + { + 'echasnovski/mini.map', + branch = "stable", + config = function() + require('mini.map').setup() + local map = require('mini.map') + map.setup({ + integrations = { + map.gen_integration.builtin_search(), + map.gen_integration.diagnostic({ + error = 'DiagnosticFloatingError', + warn = 'DiagnosticFloatingWarn', + info = 'DiagnosticFloatingInfo', + hint = 'DiagnosticFloatingHint', + }), + }, + symbols = { + encode = map.gen_encode_symbols.dot('2x1'), + }, + window = { + side = 'right', + width = 20, -- set to 1 for a pure scrollbar :) + winblend = 15, + show_integration_count = false, + }, + }) + end + }, + -- telescope-project + { + "nvim-telescope/telescope-project.nvim", + event = "BufWinEnter", + setup = function() + vim.cmd [[packadd telescope.nvim]] + end, + }, +} + + + +-- Autocommands (https://neovim.io/doc/user/autocmd.html) +-- + +-- minimap view +lvim.autocommands = { + { + {"BufEnter", "Filetype"}, + { + desc = "Open mini.map and exclude some filetypes", + pattern = { "*" }, + callback = function() + local exclude_ft = { + "qf", + "NvimTree", + "toggleterm", + "TelescopePrompt", + "alpha", + "netrw", + } + + local map = require('mini.map') + if vim.tbl_contains(exclude_ft, vim.o.filetype) then + vim.b.minimap_disable = true + map.close() + elseif vim.o.buftype == "" then + map.open() + end + end, + }, + }, +} + +-- wrap mode for json files +vim.api.nvim_create_autocmd("BufEnter", { + pattern = { "*.json", "*.jsonc" }, + -- enable wrap mode for json files only + command = "setlocal wrap", +}) + +-- bash highlight for zsh files +vim.api.nvim_create_autocmd("FileType", { + pattern = "zsh", + callback = function() + -- let treesitter use bash highlight for zsh files as well + require("nvim-treesitter.highlight").attach(0, "bash") + end, +}) diff --git a/meta/tasks/lvim.yaml b/meta/tasks/lvim.yaml index 841b24f..7e502b9 100644 --- a/meta/tasks/lvim.yaml +++ b/meta/tasks/lvim.yaml @@ -1,5 +1,4 @@ - link: - ${HOME}/.config/lvim: - glob: true - path: conf.d/lvim + ${HOME}/.config/lvim/config.lua: + path: conf/lvim.lua From 872869c1475be4dc727dcdb0b57c24adf0e7ef8b Mon Sep 17 00:00:00 2001 From: Jeff Lance Date: Sun, 23 Apr 2023 19:54:42 +0200 Subject: [PATCH 2/3] update conf for lvim --- conf/lvim.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/conf/lvim.lua b/conf/lvim.lua index 665dd48..9fd1680 100644 --- a/conf/lvim.lua +++ b/conf/lvim.lua @@ -100,7 +100,6 @@ lvim.builtin.treesitter.ensure_installed = { "rust", "java", "yaml", - "zsh", } lvim.builtin.treesitter.ignore_install = { "haskell" } From 8ca0f140f26c9b0782b229908671ec671a3d1697 Mon Sep 17 00:00:00 2001 From: Jeff Lance Date: Mon, 24 Apr 2023 19:38:09 +0200 Subject: [PATCH 3/3] add suda --- conf/lvim.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conf/lvim.lua b/conf/lvim.lua index 9fd1680..38809a4 100644 --- a/conf/lvim.lua +++ b/conf/lvim.lua @@ -266,6 +266,10 @@ lvim.plugins = { vim.g.mkdp_auto_start = 1 end, }, + -- suda + { + 'lambdalisue/suda.vim', + }, -- vim-surround { 'tpope/vim-surround',