Configuration for my NixOS based systems and Home Manager
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

NVIM: sync nvim from aleister

+452 -218
+36 -43
nvim/init.lua
··· 7 7 -- Config for Nord, which I usually use 8 8 -- vim.g.nord_italic = false 9 9 -- vim.g.nord_bold = false 10 - vim.opt.background = "dark" 11 - vim.cmd [[colorscheme everforest]] 10 + vim.opt.background = "light" 11 + --vim.opt.background = "dark" 12 12 13 13 -- Formatting and vim config 14 14 vim.opt.expandtab = true ··· 28 28 vim.opt.lcs = vim.opt.lcs + "space:·" 29 29 vim.opt.list = true 30 30 vim.opt.textwidth = 88 31 - 32 - -- LuaLine Config 33 - 34 - --local noirbuddy_lualine = require("noirbuddy.plugins.lualine") 35 - 36 - require("lualine").setup { 37 - options = { 38 - icons_enabled = true, 39 - theme = "auto" 40 - --theme = noirbuddy_lualine.theme 41 - }, 42 - --sections = noirbuddy_lualine.sections, 43 - --inactive_sections = noirbuddy_lualine.inactive_sections, 44 - } 31 + vim.cmd [[ colorscheme alabaster ]] 45 32 46 33 -- Force OSC-52 47 34 vim.g.clipboard = { 48 - name = 'OSC 52', 49 - copy = { 50 - ['+'] = require('vim.ui.clipboard.osc52').copy('+'), 51 - ['*'] = require('vim.ui.clipboard.osc52').copy('*'), 52 - }, 53 - paste = { 54 - ['+'] = require('vim.ui.clipboard.osc52').paste('+'), 55 - ['*'] = require('vim.ui.clipboard.osc52').paste('*'), 56 - }, 35 + name = 'OSC 52', 36 + copy = { 37 + ['+'] = require('vim.ui.clipboard.osc52').copy('+'), 38 + ['*'] = require('vim.ui.clipboard.osc52').copy('*'), 39 + }, 40 + paste = { 41 + ['+'] = require('vim.ui.clipboard.osc52').paste('+'), 42 + ['*'] = require('vim.ui.clipboard.osc52').paste('*'), 43 + }, 57 44 } 58 45 59 46 -- CTags ··· 64 51 65 52 -- Gerbil Scheme 66 53 local set_gerbil = function() 67 - vim.g["conjure#client#scheme#stdio#command"] = "gxi" 68 - vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "%d*> " 69 - vim.g["conjure#client#scheme#stdio#value_prefix_pattern"] = false 54 + vim.g["conjure#client#scheme#stdio#command"] = "gxi" 55 + vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "%d*> " 56 + vim.g["conjure#client#scheme#stdio#value_prefix_pattern"] = false 70 57 end 71 58 set_gerbil() 72 59 vim.api.nvim_create_user_command("ConjureGerbil", set_gerbil, {}) 73 60 74 61 -- Chibi-scheme 75 62 local set_chibi = function() 76 - vim.g["conjure#client#scheme#stdio#command"] = "chibi-scheme -R" 77 - vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "=> $?" 78 - vim.g["conjure#client#scheme#stdio#value_prefix_pattern"] = true 63 + vim.g["conjure#client#scheme#stdio#command"] = "chibi-scheme -R" 64 + vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "=> $?" 65 + vim.g["conjure#client#scheme#stdio#value_prefix_pattern"] = true 79 66 end 80 67 vim.api.nvim_create_user_command("ConjureChibi", set_chibi, {}) 81 68 -- Chicken Scheme 82 69 local set_chicken = function() 83 - vim.g["conjure#client#scheme#stdio#command"] = "csi -quiet -:c" 84 - vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "\n-#;%d-> " 85 - vim.g["conjure#client#scheme#stdio#value_prefix_pattern"] = true 70 + vim.g["conjure#client#scheme#stdio#command"] = "csi -quiet -:c" 71 + vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "\n-#;%d-> " 72 + vim.g["conjure#client#scheme#stdio#value_prefix_pattern"] = true 86 73 end 87 74 vim.api.nvim_create_user_command("ConjureChicken", set_chicken, {}) 88 75 ··· 90 77 local keymap = vim.keymap.set 91 78 local noremap = { noremap = true } 92 79 local silentnoremap = { noremap = true, silent = true } 80 + --Toggle background 81 + keymap("n", "<leader>bg", function() if vim.o.background == "light" then vim.o.background = "dark" else vim.o.background = "light" end end, noremap) 93 82 -- Easier breaking from edit modes 94 83 keymap("n", ";;", "<Esc>", noremap) 95 84 keymap("v", ";;", "<Esc>", noremap) ··· 155 144 156 145 -- Autoformat! 157 146 vim.api.nvim_create_user_command("Format", function(args) 158 - local range = nil 159 - if args.count ~= -1 then 160 - local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1] 161 - range = { 162 - start = { args.line1, 0 }, 163 - ["end"] = { args.line2, end_line:len() }, 164 - } 165 - end 166 - require("conform").format({ async = true, lsp_format = "fallback", range = range }) 147 + local range = nil 148 + if args.count ~= -1 then 149 + local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1] 150 + range = { 151 + start = { args.line1, 0 }, 152 + ["end"] = { args.line2, end_line:len() }, 153 + } 154 + end 155 + require("conform").format({ async = true, lsp_format = "fallback", range = range }) 167 156 end, { range = true }) 168 157 keymap("n", "<C-n>", "<cmd>Format<CR>", silentnoremap) 169 158 ··· 175 164 -- ######################## 176 165 -- LSP 177 166 require("lsp") 167 + 168 + if vim.uv.fs_stat(vim.fn.stdpath("config") .. "/lua/local.lua") then 169 + require("local") 170 + end
+8
nvim/lua/ambient.lua
··· 1 + function setup() 2 + return require("codecompanion.adapters").extend("openai_compatible", { 3 + env = { 4 + url = "http://34.46.152.76", 5 + chat_url = "/run-auction" 6 + } 7 + }) 8 + end
+74 -126
nvim/lua/lsp.lua
··· 1 - local nvim_lsp = require("lspconfig") 2 1 local capabilities = require('cmp_nvim_lsp').default_capabilities() 3 2 -- ######################## 4 3 -- #### Set up LSPs #### 5 4 -- ######################## 6 5 7 - local util = require("lspconfig.util") 8 - 9 - -- Rust 10 - -- Python LSP 11 - nvim_lsp.pylsp.setup({ 12 - -- cmd = {"/home/noah/.envs/nvim/bin/pylsp"}, 13 - root_dir = function(fname) 14 - local root_files = { 15 - "pants.toml", "pyproject.toml", "setup.py", "setup.cfg", "Pipfile" 16 - } 17 - return util.find_git_ancestor(fname) or 18 - util.root_pattern(unpack(root_files))(fname) 19 - end 6 + vim.lsp.config("*", { 7 + capabilities = capabilities 20 8 }) 21 - nvim_lsp.lua_ls.setup { 22 - settings = { 23 - Lua = { 24 - runtime = { 25 - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) 26 - version = "LuaJIT" 27 - }, 28 - diagnostics = { 29 - -- Get the language server to recognize the `vim` global 30 - globals = { "vim" } 31 - }, 32 - workspace = { 33 - -- Make the server aware of Neovim runtime files 34 - library = vim.api.nvim_get_runtime_file("", true) 35 - }, 36 - -- Do not send telemetry data containing a randomized but unique identifier 37 - telemetry = { enable = false } 38 - } 39 - } 40 - } 41 9 42 - nvim_lsp.janet_lsp.setup { 43 - cmd = { 44 - "janet", 45 - "-i", 46 - "/home/noah/repos/janet-lsp/build/janet-lsp.jimage", 47 - "--stdio", 48 - } 49 - } 50 - 51 - -- LSPs that just use default config 52 - local simple_lsps = { 53 - --"htmx", 54 - "nil_ls", "bzl", "buf_ls", "crystalline", "dockerls", 55 - "erlangls", "elixirls", "fortls", "gleam", "gopls", "hls", "jsonls", 56 - "vimls", "asm_lsp", "ccls", "pyright", -- ruff", idk if this is wrong? 57 - "ruff", "clojure_lsp", "guile_ls", 58 - -- Of course the Java-based ones are verbose af 59 - "kotlin_language_server", "java_language_server", "jsonls", "pest_ls", 60 - "ocamllsp", "reason_ls", "racket_langserver", "rust_analyzer", 61 - "scheme_langserver", "sqls", "thriftls", "tinymist", "vhdl_ls", "yamlls", 62 - "zls", "ts_ls", "eslint", "metals", "futhark_lsp", "roc_ls", 63 - -- disabled because it's broken 64 - -- "scheme_langserver", 10 + local servers = { 11 + "pylsp", "lua_ls", "janet_lsp", 12 + --"htmx", 13 + "nil_ls", "bzl", "buf_ls", "crystalline", "dockerls", 14 + "erlangls", "elixirls", "fortls", "gleam", "gopls", "hls", "jsonls", 15 + "vimls", "asm_lsp", "ccls", "pyright", 16 + "ruff", "clojure_lsp", "guile_ls", 17 + -- Of course the Java-based ones are verbose af 18 + "kotlin_language_server", "java_language_server", "jsonls", "pest_ls", 19 + "ocamllsp", "reason_ls", "racket_langserver", "rust_analyzer", 20 + "scheme_langserver", "sqls", "thriftls", "tinymist", "vhdl_ls", "yamlls", 21 + "zls", "ts_ls", "eslint", "metals", "futhark_lsp", "roc_ls", "sourcekit" 22 + -- disabled because it's broken 23 + -- "scheme_langserver", 65 24 } 66 - -- #simple_lsps is the length of the table when treated as a list... funky! 67 - for _, v in pairs(simple_lsps) do 68 - nvim_lsp[v].setup { 69 - capabilities = capabilities 70 - } 71 - end 25 + vim.lsp.enable(servers) 72 26 73 - nvim_lsp.fennel_ls.setup({ 74 - capabilities = capabilities, 75 - root_dir = nvim_lsp.util.root_pattern(".git", "fnl") 76 - }) 77 - 78 - -- Whenever an LSP is attached to a buffer 79 27 local on_attach = function(ev) 80 - -- Enable completion triggered by <c-x><x-o> 81 - vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc' 28 + -- Enable completion triggered by <c-x><x-o> 29 + vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc' 82 30 83 - local opts = { noremap = true, silent = true, buffer = ev.buf } 84 - local protocol = require("vim.lsp.protocol") 85 - -- Mappings. 86 - -- See `:help vim.lsp.*` for documentation on any of the below functions 87 - vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts) 88 - vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) 89 - vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) 90 - vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts) 91 - vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, opts) 92 - vim.keymap.set("n", "<space>wa", vim.lsp.buf.add_workspace_folder, opts) 93 - vim.keymap.set("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, opts) 94 - vim.keymap.set("n", "<space>wl", function() 95 - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) 96 - end, opts) 97 - vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, opts) 98 - vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts) 99 - vim.keymap.set("n", "<space>ca", vim.lsp.buf.code_action, opts) 100 - vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) 101 - vim.keymap.set("n", "<space>e", vim.diagnostic.open_float, opts) 102 - vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts) 103 - vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts) 104 - vim.keymap.set("n", "<space>q", vim.diagnostic.setloclist, opts) 105 - vim.keymap.set("n", "<space>f", 106 - function() vim.lsp.buf.format { async = true } end, opts) 107 - vim.keymap.set("n", "<space>s", vim.lsp.buf.workspace_symbol, opts) 31 + local opts = { noremap = true, silent = true, buffer = ev.buf } 32 + local protocol = require("vim.lsp.protocol") 33 + -- Mappings. 34 + -- See `:help vim.lsp.*` for documentation on any of the below functions 35 + vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts) 36 + vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) 37 + vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) 38 + vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts) 39 + vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, opts) 40 + vim.keymap.set("n", "<space>wa", vim.lsp.buf.add_workspace_folder, opts) 41 + vim.keymap.set("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, opts) 42 + vim.keymap.set("n", "<space>wl", function() 43 + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) 44 + end, opts) 45 + vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, opts) 46 + vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts) 47 + vim.keymap.set("n", "<space>ca", vim.lsp.buf.code_action, opts) 48 + vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) 49 + vim.keymap.set("n", "<space>e", vim.diagnostic.open_float, opts) 50 + vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts) 51 + vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts) 52 + vim.keymap.set("n", "<space>q", vim.diagnostic.setloclist, opts) 53 + vim.keymap.set("n", "<space>f", 54 + function() vim.lsp.buf.format { async = true } end, opts) 55 + vim.keymap.set("n", "<space>s", vim.lsp.buf.workspace_symbol, opts) 108 56 109 - -- require'completion'.on_attach(client, bufnr) 110 - protocol.CompletionItemKind = { 111 - "", -- Text 112 - "⋙", -- Method 113 - "𝑓", -- Function 114 - "", -- Constructor 115 - "", -- Field 116 - "", -- Variable 117 - "", -- Class 118 - "ﰮ", -- Interface 119 - "", -- Module 120 - "", -- Property 121 - "", -- Unit 122 - "", -- Value 123 - "", -- Enum 124 - "", -- Keyword 125 - "﬌", -- Snippet 126 - "", -- Color 127 - "", -- File 128 - "", -- Reference 129 - "", -- Folder 130 - "", -- EnumMember 131 - "", -- Constant 132 - "", -- Struct 133 - "", -- Event 134 - "ﬦ", -- Operator 135 - "" -- TypeParameter 136 - } 57 + -- require'completion'.on_attach(client, bufnr) 58 + protocol.CompletionItemKind = { 59 + "", -- Text 60 + "⋙", -- Method 61 + "𝑓", -- Function 62 + "", -- Constructor 63 + "", -- Field 64 + "", -- Variable 65 + "", -- Class 66 + "ﰮ", -- Interface 67 + "", -- Module 68 + "", -- Property 69 + "", -- Unit 70 + "", -- Value 71 + "", -- Enum 72 + "", -- Keyword 73 + "﬌", -- Snippet 74 + "", -- Color 75 + "", -- File 76 + "", -- Reference 77 + "", -- Folder 78 + "", -- EnumMember 79 + "", -- Constant 80 + "", -- Struct 81 + "", -- Event 82 + "ﬦ", -- Operator 83 + "" -- TypeParameter 84 + } 137 85 end 138 86 vim.api.nvim_create_autocmd('LspAttach', { 139 - group = vim.api.nvim_create_augroup('UserLspConfig', {}), 140 - callback = on_attach 87 + group = vim.api.nvim_create_augroup('UserLspConfig', {}), 88 + callback = on_attach 141 89 })
+3
nvim/lua/lsp/fennel_ls.lua
··· 1 + return { 2 + root_markers = {".git", "fnl"}, 3 + }
+8
nvim/lua/lsp/janet_lsp.lua
··· 1 + return { 2 + cmd = { 3 + "janet", 4 + "-i", 5 + "/home/noah/repos/janet-lsp/jpm_tree/lib/janet-lsp.jimage", 6 + "--stdio", 7 + } 8 + }
+20
nvim/lua/lsp/lua_ls.lua
··· 1 + return { 2 + settings = { 3 + Lua = { 4 + runtime = { 5 + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) 6 + version = "LuaJIT" 7 + }, 8 + diagnostics = { 9 + -- Get the language server to recognize the `vim` global 10 + globals = { "vim", "vis" } 11 + }, 12 + workspace = { 13 + -- Make the server aware of Neovim runtime files 14 + library = vim.api.nvim_get_runtime_file("", true) 15 + }, 16 + -- Do not send telemetry data containing a randomized but unique identifier 17 + telemetry = { enable = false } 18 + } 19 + } 20 + }
+5
nvim/lua/lsp/pylsp.lua
··· 1 + return { 2 + -- cmd = {"/home/noah/.envs/nvim/bin/pylsp"}, 3 + cmd = "basedpyright", 4 + root_markers = { "pants.toml", "pyproject.toml", "setup.py", "setup.cfg", "Pipfile" }, 5 + }
+68 -49
nvim/lua/plugins.lua
··· 15 15 if lazy_bootstrap then print("Bootstrapped lazy.nvim") end 16 16 17 17 require("lazy").setup({ 18 - install = { colorscheme = { "everforest" } }, 18 + install = { colorscheme = { "alabaster" } }, 19 19 checker = { enabled = false }, 20 20 spec = { 21 21 -- Color themes 22 - { "shaunsingh/nord.nvim", priority = 1000, lazy = true }, 23 - { "shaunsingh/moonlight.nvim", priority = 1000, lazy = true }, 24 - { "folke/tokyonight.nvim", priority = 1000, lazy = true }, 25 - { "cranberry-clockworks/coal.nvim", priority = 1000, lazy = true }, 26 - { "hardselius/warlock", priority = 1000, lazy = true }, 27 - { "sontungexpt/witch", priority = 1000, lazy = true, config = true }, 28 - { "catppuccin/nvim", priority = 1000, name = "catppuccin", lazy = true }, 22 + { "shaunsingh/nord.nvim", priority = 1000, lazy = true }, 23 + { "shaunsingh/moonlight.nvim", priority = 1000, lazy = true }, 24 + { "folke/tokyonight.nvim", priority = 1000, lazy = true }, 25 + { "cranberry-clockworks/coal.nvim", priority = 1000, lazy = true }, 26 + { "hardselius/warlock", priority = 1000, lazy = true }, 27 + { "sontungexpt/witch", priority = 1000, lazy = true, config = true }, 28 + { "rose-pine/neovim", priority = 1000, lazy = true }, 29 + { "catppuccin/nvim", name = "catppuccin", priority = 1000, lazy = true }, 30 + { "p00f/alabaster.nvim", priority = 1000, lazy = true }, 29 31 { 30 32 "neanias/everforest-nvim", 31 33 version = false, ··· 39 41 'jesseleite/nvim-noirbuddy', 40 42 dependencies = { 41 43 'tjdevries/colorbuddy.nvim', 44 + 'nvim-lualine/lualine.nvim' 42 45 }, 43 46 lazy = true, 44 47 priority = 1000, 48 + config = function(_, opts) 49 + -- configure lualine 50 + require('noirbuddy').setup(opts) 51 + local noirbuddy_lualine = require("noirbuddy.plugins.lualine") 52 + require("lualine").setup { 53 + options = { 54 + icons_enabled = true, 55 + --theme = "auto" 56 + theme = noirbuddy_lualine.theme 57 + }, 58 + sections = noirbuddy_lualine.sections, 59 + inactive_sections = noirbuddy_lualine.inactive_sections, 60 + } 61 + end, 45 62 opts = { 46 63 -- All of your `setup(opts)` will go here 47 64 preset = "oxide", ··· 51 68 }, 52 69 }, 53 70 { 54 - "plan9-for-vimspace/acme-colors", lazy = true, priority = 1000 71 + "plan9-for-vimspace/acme-colors" 55 72 }, 56 73 -- Completion 57 74 { ··· 69 86 }, -- nvim lsp plugins 70 87 { 71 88 "neovim/nvim-lspconfig", 89 + config = false 72 90 }, 73 91 -- LSP Goodness 74 92 { ··· 152 170 }, 153 171 { 154 172 "nvim-lualine/lualine.nvim", 155 - config = function(_spec, _opt) 156 - local noirbuddy_lualine = require("noirbuddy.plugins.lualine") 157 - require("lualine").setup { 158 - options = { 159 - icons_enabled = true, 160 - -- when not using noirbuddy, uncomment this 161 - --theme = "auto" 162 - theme = noirbuddy_lualine.theme 163 - }, 164 - sections = noirbuddy_lualine.sections, 165 - inactive_sections = noirbuddy_lualine.inactive_sections, 166 - } 167 - end, 168 - dependencies = { "nvim-tree/nvim-web-devicons", "jesseleite/nvim-noirbuddy" } 173 + config = true, 174 + dependencies = { "nvim-tree/nvim-web-devicons" } 169 175 }, 170 176 -- Fuzzy finding stuff 171 - "junegunn/fzf.vim", 172 - --{ 173 - -- dir = "~/.fzf", 174 - -- build = function() vim.fn["fzf#install"](0) end, 175 - -- dependencies = { "junegunn/fzf.vim" } 176 - --}, 177 + --"junegunn/fzf.vim", 178 + "ibhagwan/fzf-lua", 177 179 -- A lua + nvim stdlib sort of thing 178 180 { "nvim-lua/plenary.nvim", lazy = true, }, 179 181 -- Telescope, find anything fast ··· 238 240 ft = { "hy", "scheme", "scm", "clojure", "fennel", "janet", "lisp", "python", "lua" }, 239 241 lazy = true, 240 242 config = function() 241 - vim.g.parinfer_comment_chars = { ";" } 243 + --vim.g.parinfer_comment_chars = { ";" } 242 244 vim.g.parinfer_force_balance = true 243 245 end 244 246 }, -- )))))) 245 247 -- This one gives me vim-sexp like structural editing 246 248 { 247 249 "julienvincent/nvim-paredit", 248 - opts = { 249 - indent = { 250 - enabled = true, 251 - }, 252 - }, 250 + config = function() 251 + local paredit = require('nvim-paredit') 252 + paredit.setup({ 253 + indent = { 254 + enabled = true, 255 + }, 256 + filetypes = { "clojure", "fennel", "janet" }, 257 + }) 258 + end, 253 259 lazy = true, 254 - ft = { "scheme", "scm", "clojure", "fennel", "janet", "lisp" } 260 + ft = { "hy", "scheme", "scm", "clojure", "fennel", "janet", "lisp", "python", "lua" } 255 261 }, 256 - --{ 257 - -- "hiphish/rainbow-delimiters.nvim", 258 - -- priority = 1050, 259 - 260 - -- ft = { "scheme", "scm", "lisp", "fennel", "clojure", "lua", "janet" }, 261 - --}, 262 + --{ "hiphish/rainbow-delimiters.nvim", priority = 1050, }, 262 263 -- Conjure, lisp is magical 263 264 { 264 265 "Olical/conjure", ··· 326 327 cmd = { "Lf" }, 327 328 dependencies = { "voldikss/vim-floaterm" } 328 329 }, 329 - -- SuperMaven, another AI coding tool 330 + { "imsnif/kdl.vim", lazy = true, ft = "kdl" }, 331 + { "catgoose/nvim-colorizer.lua", lazy = true, ft = { "css", "html", "toml", "conf" } }, 332 + { "github/copilot.vim", lazy = true, cmd = { "Copilot" } }, 330 333 { 331 - "supermaven-inc/supermaven-nvim", 332 - opts = { keymaps = { accept_suggestion = "<C-f>" } }, 333 - lazy = true, 334 - cmd = "SupermavenStart" 334 + "cshuaimin/ssr.nvim", 335 + config = function() 336 + local ssr = require("ssr") 337 + ssr.setup { 338 + border = "rounded", 339 + min_width = 50, 340 + min_height = 5, 341 + max_width = 120, 342 + max_height = 25, 343 + adjust_window = true, 344 + keymaps = { 345 + close = "q", 346 + next_match = "n", 347 + prev_match = "N", 348 + replace_confirm = "<cr>", 349 + replace_all = "<leader><cr>", 350 + }, 351 + } 352 + vim.keymap.set({ "n", "x" }, "<leader>sr", function() ssr.open() end) 353 + end 335 354 }, 336 - { "imsnif/kdl.vim", lazy = true, ft = "kdl" }, 337 - { "weakish/rcshell.vim", lazy = true, ft = "rcshell" }, 355 + { "lewis6991/gitsigns.nvim", config = true }, 356 + 338 357 } 339 358 })
+133
nvim/syntax/infsh.vim
··· 1 + " Vim syntax file 2 + " Language: OS Inferno sh 3 + " Maintainer: Alex Efros <powerman-asdf@ya.ru> 4 + " URL: http://powerman.name/download/vim/syntax/infsh.vim 5 + " Version: 1.10 6 + " Last Change: 2012-12-09 7 + 8 + if version < 600 9 + syntax clear 10 + elseif exists("b:current_syntax") 11 + finish 12 + endif 13 + 14 + 15 + syn cluster infshTOP contains=infshError 16 + " usual typo 17 + syn match infshError +"+ 18 + 19 + syn cluster infshTOP add=infshSubst,infshCmdOut,infshBlock 20 + " substitution command 21 + syn region infshSubst matchgroup=infshSubstDelimiter keepend extend start="\$["#]\?{\w\@=" end="}" contains=@infshTOP,@NoSpell 22 + syn match infshSubstName contained "\(\$["#]\?{\)\@<=\w\+" containedin=infshSubst 23 + " get command output 24 + syn region infshCmdOut matchgroup=infshCmdOutDelimiter keepend extend start="[`"]{" end="}" contains=@infshTOP,@NoSpell 25 + " command block 26 + syn region infshBlock matchgroup=infshDelimiter keepend extend start="{" end="}" contains=@infshTOP,@NoSpell 27 + 28 + syn cluster infshTOP add=infshDelimiter,infshRedir,infshConditional,infshOperator,infshPatternClass,infshPattern 29 + " top-level delimiters 30 + syn match infshDelimiter "[;&()]" 31 + syn match infshRedir "[|<>]\(\[\d\+\(=\d\+\)\?\]\)\?" 32 + syn match infshConditional "&&\|||" 33 + syn match infshOperator "\(:=\|=\|\^\)" 34 + syn region infshPatternClass matchgroup=infshPattern keepend extend oneline start="\[^\?" end="\]" contains=infshPatternInClass 35 + syn match infshPatternInClass contained "\(\[^\?\)\@<!-\]\@!" 36 + syn match infshPattern "[*?]" 37 + 38 + syn cluster infshTOP add=infshVar,infshSpecVar,infshError 39 + " references to variables 40 + syn match infshVar "\$["#]\?[$(']\@=" 41 + syn match infshVar "\$["#]\?\(`{\)\@=" 42 + syn match infshVar "\$["#]\(\"{\)\@=" 43 + " variables with single-char names (spec chars & unicode) 44 + syn match infshVar "\$["#]\?[!%+,\-./:?@\[\\\]~]" 45 + syn match infshVar "\$["#]\?[^\x0-\x7f]" 46 + " special variables 47 + syn match infshSpecVar "\$["#]\?[*]" 48 + syn match infshSpecVar "\$["#]\?[0]" 49 + syn match infshSpecVar "\$["#]\?[1-9][0-9]*" 50 + " variables with usual names 51 + syn match infshVar "\$["#]\?[a-zA-Z_][*0-9a-zA-Z_]*" 52 + syn match infshVar "\$["#]\?[*0][*0-9a-zA-Z_]\+" 53 + syn match infshVar "\$["#]\?[1-9][0-9]*[*a-zA-Z_][*0-9a-zA-Z_]*" 54 + " more special variables 55 + syn match infshSpecVar "\$["#]\?\(status\|apid\|ifs\|prompt\|autoload\)[*0-9a-zA-Z_]\@!" 56 + " bad variables 57 + syn match infshError "\$["#]\?[ \t\n&);<=>^|}]\@=" 58 + syn match infshError "\$["#]\?\((\s*)\)\@=" 59 + syn match infshError "\$["#]\?\(''[^']\@=\)\@=" 60 + syn match infshError "\$["#]\?\([`]{\@!\)\@=" 61 + syn match infshError "\$["#]\(["]{\@!\)\@=" 62 + syn match infshError "\$["#][#]\@=" 63 + 64 + syn cluster infshTOP add=infshStr,infshComment,infshShebang 65 + " quoted string 66 + syn region infshStr matchgroup=infshStrQ keepend extend start="'" skip="''" end="'" contains=infshStrQQ 67 + syn match infshStrQQ contained "''" 68 + " comment 69 + syn match infshComment "#.*" contains=infshTodo,@Spell extend 70 + syn keyword infshTodo contained TODO TBD FIXME XXX NOTE BUG WARNING DEBUG OPTIMIZATION WORKAROUND 71 + " shebang 72 + syn match infshShebang "^#!/dis/sh\(\.dis\)\?\(\s\+-[nlvx]\+\)*\s*$" contains=infshOpts 73 + syn match infshOpts contained "-[nlvx]\+" 74 + 75 + syn cluster infshTOP add=infshStatement,infshConditional,infshRepeat,infshOperator,infshKeyword,infshException,infshPctlType 76 + " keywords 77 + syn keyword infshStatement fn subfn 78 + syn keyword infshConditional and or if 79 + syn keyword infshRepeat apply getlines for in while 80 + syn keyword infshOperator run builtin exit load unload 81 + syn keyword infshOperator no pctl status 82 + syn match infshOperator "[@!~]" 83 + syn keyword infshKeyword flag loaded whatis 84 + syn keyword infshException raise rescue 85 + syn keyword infshPctlType newfd forkfd newns forkns newpgrp nodevs 86 + 87 + 88 + if version >= 508 || !exists("did_infsh_syn_inits") 89 + if version < 508 90 + let did_infsh_syn_inits = 1 91 + command -nargs=+ HiLink hi link <args> 92 + else 93 + command -nargs=+ HiLink hi def link <args> 94 + endif 95 + 96 + HiLink infshSubstDelimiter Identifier 97 + HiLink infshSubstName Operator 98 + 99 + HiLink infshCmdOutDelimiter Include 100 + 101 + HiLink infshDelimiter Delimiter 102 + HiLink infshRedir Type 103 + HiLink infshConditional Conditional 104 + HiLink infshOperator Operator 105 + HiLink infshPattern SpecialChar 106 + HiLink infshPatternInClass SpecialChar 107 + 108 + HiLink infshVar Identifier 109 + HiLink infshSpecVar Special 110 + 111 + HiLink infshError Error 112 + 113 + HiLink infshStr String 114 + HiLink infshStrQ String 115 + HiLink infshStrQQ SpecialChar 116 + 117 + HiLink infshComment Comment 118 + HiLink infshTodo Todo 119 + HiLink infshShebang Comment 120 + HiLink infshOpts PreProc 121 + 122 + HiLink infshStatement Statement 123 + HiLink infshConditional Conditional 124 + HiLink infshRepeat Repeat 125 + HiLink infshOperator Operator 126 + HiLink infshKeyword Keyword 127 + HiLink infshException Exception 128 + HiLink infshPctlType Type 129 + 130 + delcommand HiLink 131 + endif 132 + 133 + let b:current_syntax = "infsh"
+97
nvim/syntax/mkfile.vim
··· 1 + " Vim syntax file 2 + " Language: mkfile (used by OS Inferno mk(1)) 3 + " Maintainer: Alex Efros <powerman-asdf@ya.ru> 4 + " URL: http://powerman.name/download/vim/syntax/mkfile.vim 5 + " Version: 1.10 6 + " Last Change: 2012-12-09 7 + 8 + if version < 600 9 + syntax clear 10 + elseif exists("b:current_syntax") 11 + finish 12 + endif 13 + 14 + 15 + syn include @ShOs syntax/sh.vim 16 + unlet b:current_syntax 17 + syn include @ShInferno syntax/infsh.vim 18 + unlet b:current_syntax 19 + 20 + 21 + syn match mkfileComment "\\\@<!#.\{-}\(\\\?\n\)\@=" contains=mkfileTodo,@Spell 22 + syn keyword mkfileTodo contained TODO TBD FIXME XXX NOTE BUG WARNING DEBUG OPTIMIZATION WORKAROUND 23 + syn match mkfileEscaped "\\." 24 + syn match mkfileError contained "^\s\+\S.*" 25 + 26 + syn match mkfileDelimiter contained "[=:%<|]" 27 + syn match mkfileNextLine contained "\\\n" 28 + \ containedin=mkfileAssignment,mkfileVarWithAttr,mkfileVar,mkfileTargetWithAttr,mkfileTargets 29 + 30 + syn match mkfileVarValue contained "\$\w\+" 31 + syn match mkfileVarValue contained "\${\w\+}" 32 + syn match mkfileVarValue contained "\${\w\+:[^}]*}" contains=mkfileVarSubst 33 + syn match mkfileVarSubst contained ":[^}]*" contains=mkfileDelimiter,mkfileVarValue 34 + syn match mkfileVarDelimiter contained "[${}]" 35 + \ containedin=mkfileVarValue 36 + 37 + syn region mkfileExternal excludenl keepend start="^<" end="$" contains=mkfileDelimiter,mkfileVarValue 38 + 39 + syn region mkfileAssignment excludenl keepend start="^\w\(\w\|\\\n\)*\(\s\|\\\n\)*=" skip="\\\n" end="$" 40 + \ contains=mkfileVarWithAttr,mkfileVarValue,mkfileComment,mkfileEscaped 41 + \ skipempty nextgroup=mkfileError 42 + syn match mkfileVarWithAttr contained "^\w\(\w\|\\\n\)*\(\s\|\\\n\)*=\(\(\\\n\)*\(=\|U\(\\\n\)*=\)\)\?" 43 + \ contains=mkfileVar,mkfileDelimiter,mkfileVarAttr 44 + syn match mkfileVar contained "^\(\w\|\\\n\)*\w" 45 + syn match mkfileVarAttr contained "\(=\(\\\n\)*\)\@<=U\(\(\\\n\)*=\)\@=" 46 + 47 + syn region mkfileRule excludenl keepend start="^[^ \t#=:]\([^#=:]\|\\\n\)*:" skip="\\\n" end="$" 48 + \ contains=mkfileTargetWithAttr,mkfilePrereq,mkfileVarValue,mkfileComment,mkfileEscaped 49 + \ skipempty nextgroup=mkfileError,mkfileRecipe 50 + syn region mkfileRule_os excludenl keepend start="^[^ \t#=:]\([^ \t#=:]\|\\\n\)*-\(os\|sh\):" skip="\\\n" end="$" 51 + \ contains=mkfileTargetWithAttr,mkfilePrereq,mkfileVarValue,mkfileComment,mkfileEscaped 52 + \ skipempty nextgroup=mkfileError,mkfileRecipe_os 53 + syn match mkfileTargetWithAttr contained "^[^ \t#=:]\([^#=:]\|\\\n\)*:\(\(\\\n\)*\(:\|[<DENnPQRUV]\+\(\\\n\)*:\)\)\?" 54 + \ contains=mkfileTargets,mkfileDelimiter,mkfileTargetAttr 55 + syn match mkfileTargets contained "^\([^#=:]\|\\\n\)*[^ \t#=:]" 56 + \ contains=mkfileDelimiter,mkfileVarValue 57 + syn match mkfileTargetAttr contained "\(:\(\\\n\)*\)\@<=[<DENnPQRUV]\+\(\(\\\n\)*:\)\@=" 58 + syn match mkfilePrereq contained "\(:\(\\\n\)*\)\@<=.*" 59 + \ contains=mkfileDelimiter,mkfileVarValue,mkfileComment,mkfileEscaped 60 + syn region mkfileRecipe contained excludenl keepend start="^\s.*" skip="\n\s" end="$" 61 + \ contains=@ShInferno 62 + syn region mkfileRecipe_os contained excludenl keepend start="^\s.*" skip="\n\s" end="$" 63 + \ contains=@ShOs 64 + " without including @Sh…: 65 + " \ contains=mkfileVarValue,mkfileComment,mkfileEscaped 66 + 67 + 68 + if version >= 508 || !exists("did_mkfile_syn_inits") 69 + if version < 508 70 + let did_mkfile_syn_inits = 1 71 + command -nargs=+ HiLink hi link <args> 72 + else 73 + command -nargs=+ HiLink hi def link <args> 74 + endif 75 + 76 + HiLink mkfileError Error 77 + HiLink mkfileComment Comment 78 + HiLink mkfileTodo Todo 79 + HiLink mkfileEscaped Special 80 + 81 + HiLink mkfileDelimiter Operator 82 + HiLink mkfileNextLine Special 83 + 84 + HiLink mkfileVarValue Identifier 85 + HiLink mkfileVarSubst String 86 + HiLink mkfileVarDelimiter Delimiter 87 + 88 + HiLink mkfileVar Identifier 89 + HiLink mkfileVarAttr Type 90 + 91 + HiLink mkfileTargets Function 92 + HiLink mkfileTargetAttr Type 93 + 94 + delcommand HiLink 95 + endif 96 + 97 + let b:current_syntax = "mkfile"