diff --git a/nvim/init.lua b/nvim/init.lua index 3697ed3..59c481e 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -7,78 +7,18 @@ vim.cmd("set expandtab") vim.cmd("set shiftwidth=4") vim.cmd("set ttyfast") vim.cmd("let mapleader=','") -vim.cmd("set makeprg=zig\\ run\\ %<.zig") vim.keymap.set('t', '', [[]]) local vim = vim - local Plug = vim.fn['plug#'] vim.call('plug#begin') - Plug('neovim/nvim-lspconfig') -- https://github.com/neovim/nvim-lspconfig - Plug('ziglang/zig.vim') -- https://github.com/ziglang/zig.vim - Plug('ray-x/lsp_signature.nvim') - Plug('nvim-lua/plenary.nvim') - Plug('nvim-telescope/telescope.nvim') - Plug('neoclide/coc.nvim',{branch = 'release'}) - + Plug('nvim-lua/plenary.nvim') + Plug('nvim-telescope/telescope.nvim') + Plug('neoclide/coc.nvim',{branch = 'release'}) + Plug('https://github.com/lambdalisue/vim-suda') + Plug('neomake/neomake') vim.call('plug#end') -require 'lspconfig'.zls.setup{} - -vim.api.nvim_create_autocmd("LspAttach", { - callback = function(args) - local bufnr = args.buf - local client = vim.lsp.get_client_by_id(args.data.client_id) - if vim.tbl_contains({ 'null-ls' }, client.name) then -- blacklist lsp - return - end - require("lsp_signature").on_attach({ - -- ... setup options here ... - }, bufnr) - end, -}) - --- don't show parse errors in a separate window -vim.g.zig_fmt_parse_errors = 0 --- disable format-on-save from `ziglang/zig.vim` -vim.g.zig_fmt_autosave = 0 --- enable format-on-save from nvim-lspconfig + ZLS --- --- Formatting with ZLS matches `zig fmt`. --- The Zig FAQ answers some questions about `zig fmt`: --- https://github.com/ziglang/zig/wiki/FAQ -vim.api.nvim_create_autocmd('BufWritePre',{ - pattern = {"*.zig", "*.zon"}, - callback = function(ev) - -- vim.lsp.buf.format() - end -}) - -local lspconfig = require('lspconfig') -lspconfig.zls.setup { - -- Server-specific settings. See `:help lspconfig-setup` - - -- omit the following line if `zls` is in your PATH - -- cmd = { '/path/to/zls_executable' }, - -- There are two ways to set config options: - -- - edit your `zls.json` that applies to any editor that uses ZLS - -- - set in-editor config options with the `settings` field below. - -- - -- Further information on how to configure ZLS: - -- https://zigtools.org/zls/configure/ - settings = { - zls = { - -- Whether to enable build-on-save diagnostics - -- - -- Further information about build-on save: - -- https://zigtools.org/zls/guides/build-on-save/ - -- enable_build_on_save = true, - - -- omit the following line if `zig` is in your PATH - -- zig_exe_path = '/path/to/zig_executable' - } - } -} local builtin = require('telescope.builtin') vim.keymap.set('n','ff',builtin.find_files, { desc = "Telescope find files" }) vim.keymap.set('n', 'fg', builtin.live_grep, { desc = 'Telescope live grep' }) @@ -106,6 +46,22 @@ vim.api.nvim_set_keymap('n','do',"(coc-codeaction)",{silent=true}) vim.api.nvim_set_keymap('n','rn',"(coc-rename)",{silent=true}) -- equivalent to let -vim.g.coc_global_extensions = {"coc-tsserver","coc-json","coc-css","coc-eslint","coc-prettier","coc-java","coc-html","coc-htmldjango","coc-pyright"} +vim.g.coc_global_extensions = {"coc-tsserver","coc-json","coc-css","coc-eslint","coc-prettier","coc-java","coc-html","coc-htmldjango","coc-pyright","coc-xml"} vim.api.nvim_set_keymap('i','',"coc#pum#visible() ? coc#pum#confirm() : \"\\\"",{expr=true,silent=true}) +-- yamllintering +-- Autoload Neomake on YAML files +vim.api.nvim_create_autocmd("FileType", { + pattern = "yaml", + callback = function() + vim.cmd("Neomake") + end, +}) + +vim.api.nvim_create_autocmd("BufWritePost", { + pattern = { "*.yml", "*.yaml" }, + callback = function() + vim.cmd("Neomake") + end, +}) +