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: pull from aleister

+692 -570
+32 -41
nvim/init.lua
··· 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 catppuccin-latte ]] 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 ··· 155 142 156 143 -- Autoformat! 157 144 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 }) 145 + local range = nil 146 + if args.count ~= -1 then 147 + local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1] 148 + range = { 149 + start = { args.line1, 0 }, 150 + ["end"] = { args.line2, end_line:len() }, 151 + } 152 + end 153 + require("conform").format({ async = true, lsp_format = "fallback", range = range }) 167 154 end, { range = true }) 168 155 keymap("n", "<C-n>", "<cmd>Format<CR>", silentnoremap) 169 156 ··· 175 162 -- ######################## 176 163 -- LSP 177 164 require("lsp") 165 + 166 + if vim.uv.fs_stat(vim.fn.stdpath("config") .. "/lua/local.lua") then 167 + require("local") 168 + end
+75 -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 - 7 - local util = require("lspconfig.util") 5 + require('lspconfig') 8 6 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 7 + vim.lsp.config("*", { 8 + capabilities = capabilities 20 9 }) 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 10 42 - nvim_lsp.janet_lsp.setup { 43 - cmd = { 44 - "janet", 45 - "-i", 46 - "/home/noah/repos/janet-lsp/jpm_tree/lib/janet-lsp.jimage", 47 - "--stdio", 48 - } 11 + local servers = { 12 + "pylsp", "lua_ls", "janet_lsp", 13 + --"htmx", 14 + "nil_ls", "bzl", "buf_ls", "crystalline", "dockerls", 15 + "erlangls", "elixirls", "fortls", "gleam", "gopls", "hls", "jsonls", 16 + "vimls", "asm_lsp", "ccls", "pyright", 17 + "ruff", "clojure_lsp", "guile_ls", 18 + -- Of course the Java-based ones are verbose af 19 + "kotlin_language_server", "java_language_server", "jsonls", "pest_ls", 20 + "ocamllsp", "reason_ls", "racket_langserver", "rust_analyzer", 21 + "scheme_langserver", "sqls", "thriftls", "tinymist", "vhdl_ls", "yamlls", 22 + "zls", "ts_ls", "eslint", "metals", "futhark_lsp", "roc_ls", "sourcekit" 23 + -- disabled because it's broken 24 + -- "scheme_langserver", 49 25 } 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", 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", 65 - } 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 26 + vim.lsp.enable(servers) 72 27 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 28 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' 29 + -- Enable completion triggered by <c-x><x-o> 30 + vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc' 82 31 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) 32 + local opts = { noremap = true, silent = true, buffer = ev.buf } 33 + local protocol = require("vim.lsp.protocol") 34 + -- Mappings. 35 + -- See `:help vim.lsp.*` for documentation on any of the below functions 36 + vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts) 37 + vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) 38 + vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) 39 + vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts) 40 + vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, opts) 41 + vim.keymap.set("n", "<space>wa", vim.lsp.buf.add_workspace_folder, opts) 42 + vim.keymap.set("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, opts) 43 + vim.keymap.set("n", "<space>wl", function() 44 + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) 45 + end, opts) 46 + vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, opts) 47 + vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, opts) 48 + vim.keymap.set("n", "<space>ca", vim.lsp.buf.code_action, opts) 49 + vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) 50 + vim.keymap.set("n", "<space>e", vim.diagnostic.open_float, opts) 51 + vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts) 52 + vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts) 53 + vim.keymap.set("n", "<space>q", vim.diagnostic.setloclist, opts) 54 + vim.keymap.set("n", "<space>f", 55 + function() vim.lsp.buf.format { async = true } end, opts) 56 + vim.keymap.set("n", "<space>s", vim.lsp.buf.workspace_symbol, opts) 108 57 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 - } 58 + -- require'completion'.on_attach(client, bufnr) 59 + protocol.CompletionItemKind = { 60 + "", -- Text 61 + "⋙", -- Method 62 + "𝑓", -- Function 63 + "", -- Constructor 64 + "", -- Field 65 + "", -- Variable 66 + "", -- Class 67 + "ﰮ", -- Interface 68 + "", -- Module 69 + "", -- Property 70 + "", -- Unit 71 + "", -- Value 72 + "", -- Enum 73 + "", -- Keyword 74 + "﬌", -- Snippet 75 + "", -- Color 76 + "", -- File 77 + "", -- Reference 78 + "", -- Folder 79 + "", -- EnumMember 80 + "", -- Constant 81 + "", -- Struct 82 + "", -- Event 83 + "ﬦ", -- Operator 84 + "" -- TypeParameter 85 + } 137 86 end 138 87 vim.api.nvim_create_autocmd('LspAttach', { 139 - group = vim.api.nvim_create_augroup('UserLspConfig', {}), 140 - callback = on_attach 88 + group = vim.api.nvim_create_augroup('UserLspConfig', {}), 89 + callback = on_attach 141 90 })
+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 + }
+4
nvim/lua/lsp/pylsp.lua
··· 1 + return { 2 + -- cmd = {"/home/noah/.envs/nvim/bin/pylsp"}, 3 + root_markers = { "pants.toml", "pyproject.toml", "setup.py", "setup.cfg", "Pipfile" }, 4 + }
+320 -403
nvim/lua/plugins.lua
··· 1 1 -- Bootstrap lazy.nvim 2 2 local ensure_lazy = function() 3 - local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" 4 - if not vim.loop.fs_stat(lazypath) then 5 - vim.fn.system({ 6 - "git", "clone", "--filter=blob:none", 7 - "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release 8 - lazypath 9 - }) 10 - end 11 - vim.opt.rtp:prepend(lazypath) 3 + local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" 4 + if not vim.loop.fs_stat(lazypath) then 5 + vim.fn.system({ 6 + "git", "clone", "--filter=blob:none", 7 + "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release 8 + lazypath 9 + }) 10 + end 11 + vim.opt.rtp:prepend(lazypath) 12 12 end 13 13 14 14 local lazy_bootstrap = ensure_lazy() 15 15 if lazy_bootstrap then print("Bootstrapped lazy.nvim") end 16 16 17 17 require("lazy").setup({ 18 - install = { colorscheme = { "noirbuddy" } }, 19 - checker = { enabled = false }, 20 - spec = { 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", name = "catppuccin", priority = 1000, lazy = true }, 29 - { 30 - "neanias/everforest-nvim", 31 - version = false, 32 - lazy = true, 33 - priority = 1000, -- make sure to load this before all the other start plugins 34 - main = "everforest", 35 - opts = { background = "hard" } 36 - }, 37 - { "rebelot/kanagawa.nvim", opts = { compile = true }, priority = 1000, lazy = true }, 38 - { 39 - 'jesseleite/nvim-noirbuddy', 40 - dependencies = { 41 - 'tjdevries/colorbuddy.nvim', 42 - }, 43 - lazy = true, 44 - priority = 1000, 45 - opts = { 46 - -- All of your `setup(opts)` will go here 47 - preset = "oxide", 48 - colors = { 49 - noir_8 = "#3A4649" 50 - } 51 - }, 52 - }, 53 - { 54 - "plan9-for-vimspace/acme-colors" 55 - }, 56 - -- Completion 57 - { 58 - "hrsh7th/nvim-cmp", 59 - dependencies = { 60 - "hrsh7th/cmp-nvim-lsp", 61 - "hrsh7th/cmp-buffer", 62 - "hrsh7th/cmp-path", 63 - "hrsh7th/cmp-vsnip", 64 - "hrsh7th/vim-vsnip", 65 - "petertriho/cmp-git", 66 - "hrsh7th/cmp-cmdline" 67 - }, 68 - config = require('completion') 69 - }, -- nvim lsp plugins 70 - { 71 - "neovim/nvim-lspconfig", 72 - }, 73 - -- LSP Goodness 74 - { 75 - "ray-x/navigator.lua", 76 - dependencies = { 77 - { 'ray-x/guihua.lua', build = 'cd lua/fzy && make' }, 78 - { 'neovim/nvim-lspconfig' }, 79 - } 18 + install = { colorscheme = { "catppuccin-latte" } }, 19 + checker = { enabled = false }, 20 + spec = { 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 + { "rose-pine/neovim", priority = 1000, lazy = true }, 29 + { "catppuccin/nvim", name = "catppuccin", priority = 1000, lazy = true }, 30 + { 31 + "neanias/everforest-nvim", 32 + version = false, 33 + lazy = true, 34 + priority = 1000, -- make sure to load this before all the other start plugins 35 + main = "everforest", 36 + opts = { background = "hard" } 37 + }, 38 + { "rebelot/kanagawa.nvim", opts = { compile = true }, priority = 1000, lazy = true }, 39 + { 40 + 'jesseleite/nvim-noirbuddy', 41 + dependencies = { 42 + 'tjdevries/colorbuddy.nvim', 43 + 'nvim-lualine/lualine.nvim' 44 + }, 45 + lazy = true, 46 + priority = 1000, 47 + config = function(_, opts) 48 + -- configure lualine 49 + require('noirbuddy').setup(opts) 50 + local noirbuddy_lualine = require("noirbuddy.plugins.lualine") 51 + require("lualine").setup { 52 + options = { 53 + icons_enabled = true, 54 + --theme = "auto" 55 + theme = noirbuddy_lualine.theme 56 + }, 57 + sections = noirbuddy_lualine.sections, 58 + inactive_sections = noirbuddy_lualine.inactive_sections, 59 + } 60 + end, 61 + opts = { 62 + -- All of your `setup(opts)` will go here 63 + preset = "oxide", 64 + colors = { 65 + noir_8 = "#3A4649" 66 + } 67 + }, 68 + }, 69 + { 70 + "plan9-for-vimspace/acme-colors" 71 + }, 72 + -- Completion 73 + { 74 + "hrsh7th/nvim-cmp", 75 + dependencies = { 76 + "hrsh7th/cmp-nvim-lsp", 77 + "hrsh7th/cmp-buffer", 78 + "hrsh7th/cmp-path", 79 + "hrsh7th/cmp-vsnip", 80 + "hrsh7th/vim-vsnip", 81 + "petertriho/cmp-git", 82 + "hrsh7th/cmp-cmdline" 83 + }, 84 + config = require('completion') 85 + }, -- nvim lsp plugins 86 + { 87 + "neovim/nvim-lspconfig", 88 + }, 89 + -- LSP Goodness 90 + { 91 + "ray-x/navigator.lua", 92 + dependencies = { 93 + { 'ray-x/guihua.lua', build = 'cd lua/fzy && make' }, 94 + { 'neovim/nvim-lspconfig' }, 95 + } 80 96 81 - }, 82 - { 83 - -- Syntax Highlighting from the future 84 - "nvim-treesitter/nvim-treesitter", 85 - --init = function() vim.cmd([[":TSUpdate"]]) end, 86 - main = "nvim-treesitter.configs", 87 - opts = { 88 - ensure_installed = 'all', 89 - ignore_install = { 'norg' }, 90 - sync_intall = true, 91 - highlight = { 92 - enable = true, 93 - }, 94 - indent = { 95 - enable = false, 96 - }, 97 - }, 98 - build = ":TSUpdate", 99 - version = false, 100 - dependencies = { 101 - "nvim-treesitter/nvim-treesitter-textobjects", 102 - "nvim-treesitter/nvim-treesitter-context", 103 - }, 104 - }, -- Git stuff 105 - -- GitGutter, shows inline difs 106 - "airblade/vim-gitgutter", 107 - { 108 - "NeogitOrg/neogit", 109 - dependencies = { 110 - "nvim-lua/plenary.nvim", -- required 111 - "sindrets/diffview.nvim", -- optional - Diff integration 112 - "nvim-telescope/telescope.nvim" 113 - }, 114 - config = true 115 - }, 116 - -- Auto format tool 117 - { 118 - "stevearc/conform.nvim", 119 - lazy = true, 120 - opts = { 121 - python = { "isort", "black" }, 122 - lua = { "lua-format" }, 123 - clojure = { "cljfmt" }, 124 - rust = { "rustfmt" }, 125 - haskell = { "ormolu", "stylish-haskell" }, 126 - go = { "goimports", "gofmt" }, 127 - java = { "google-java-format" }, 128 - javascript = { "prettier" }, 129 - html = { "prettier" }, 130 - yaml = { "prettier" }, 131 - sh = { "shfmt" }, 132 - c = { "clang-format" }, 133 - } 134 - }, 135 - { 136 - "hedyhli/outline.nvim", 137 - lazy = true, 138 - cmd = { "Outline", "OutlineOpen" }, 139 - config = true, 140 - keys = { 141 - { "<leader>o", "<cmd>Outline<cr>", desc = "Toggle outline" }, 142 - }, 143 - }, 144 - { 145 - "ray-x/go.nvim", 146 - ft = "go", 147 - lazy = true, 148 - dependencies = { 149 - "ray-x/guihua.lua", "neovim/nvim-lspconfig", 150 - "nvim-treesitter/nvim-treesitter" 151 - } 152 - }, 153 - { 154 - "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" } 169 - }, 170 - -- Fuzzy finding stuff 171 - "junegunn/fzf.vim", 172 - -- A lua + nvim stdlib sort of thing 173 - { "nvim-lua/plenary.nvim", lazy = true, }, 174 - -- Telescope, find anything fast 175 - { 176 - "nvim-telescope/telescope.nvim", 177 - config = true, 178 - dependencies = { 179 - "nvim-lua/plenary.nvim", 180 - "nvim-telescope/telescope-symbols.nvim", 181 - "nvim-telescope/telescope-fzf-native.nvim" 182 - } 183 - }, 184 - { 185 - "folke/trouble.nvim", 186 - dependencies = "nvim-tree/nvim-web-devicons", 187 - config = true, 188 - }, 189 - -- Which key is bound? 190 - -- literally the best plugin ever 191 - { 192 - "folke/which-key.nvim", 193 - init = function() 194 - vim.o.timeout = true 195 - vim.o.timeoutlen = 300 196 - end, 197 - config = true 198 - }, 199 - -- Developing my neovim 200 - { 201 - "folke/lazydev.nvim", 202 - config = true, 203 - ft = "lua", 204 - lazy = true, 205 - opts = { 206 - library = { 207 - path = "luvit-meta/library", words = { "vim%.uv" }, 208 - }, 209 - }, 210 - dependencies = { 211 - "Bilal2453/luvit-meta" 212 - }, 213 - }, 214 - -- Lithsps 215 - { 216 - "windwp/nvim-autopairs", 217 - event = "InsertEnter", 218 - config = function() 219 - local pairs = require("nvim-autopairs") 97 + }, 98 + { 99 + -- Syntax Highlighting from the future 100 + "nvim-treesitter/nvim-treesitter", 101 + --init = function() vim.cmd([[":TSUpdate"]]) end, 102 + main = "nvim-treesitter.configs", 103 + opts = { 104 + ensure_installed = 'all', 105 + ignore_install = { 'norg' }, 106 + sync_intall = true, 107 + highlight = { 108 + enable = true, 109 + }, 110 + indent = { 111 + enable = false, 112 + }, 113 + }, 114 + build = ":TSUpdate", 115 + version = false, 116 + dependencies = { 117 + "nvim-treesitter/nvim-treesitter-textobjects", 118 + "nvim-treesitter/nvim-treesitter-context", 119 + }, 120 + }, -- Git stuff 121 + -- GitGutter, shows inline difs 122 + "airblade/vim-gitgutter", 123 + { 124 + "NeogitOrg/neogit", 125 + dependencies = { 126 + "nvim-lua/plenary.nvim", -- required 127 + "sindrets/diffview.nvim", -- optional - Diff integration 128 + "nvim-telescope/telescope.nvim" 129 + }, 130 + config = true 131 + }, 132 + -- Auto format tool 133 + { 134 + "stevearc/conform.nvim", 135 + lazy = true, 136 + opts = { 137 + python = { "isort", "black" }, 138 + lua = { "lua-format" }, 139 + clojure = { "cljfmt" }, 140 + rust = { "rustfmt" }, 141 + haskell = { "ormolu", "stylish-haskell" }, 142 + go = { "goimports", "gofmt" }, 143 + java = { "google-java-format" }, 144 + javascript = { "prettier" }, 145 + html = { "prettier" }, 146 + yaml = { "prettier" }, 147 + sh = { "shfmt" }, 148 + c = { "clang-format" }, 149 + } 150 + }, 151 + { 152 + "hedyhli/outline.nvim", 153 + lazy = true, 154 + cmd = { "Outline", "OutlineOpen" }, 155 + config = true, 156 + keys = { 157 + { "<leader>o", "<cmd>Outline<cr>", desc = "Toggle outline" }, 158 + }, 159 + }, 160 + { 161 + "ray-x/go.nvim", 162 + ft = "go", 163 + lazy = true, 164 + dependencies = { 165 + "ray-x/guihua.lua", "neovim/nvim-lspconfig", 166 + "nvim-treesitter/nvim-treesitter" 167 + } 168 + }, 169 + { 170 + "nvim-lualine/lualine.nvim", 171 + config = true, 172 + dependencies = { "nvim-tree/nvim-web-devicons" } 173 + }, 174 + -- Fuzzy finding stuff 175 + --"junegunn/fzf.vim", 176 + "ibhagwan/fzf-lua", 177 + -- A lua + nvim stdlib sort of thing 178 + { "nvim-lua/plenary.nvim", lazy = true, }, 179 + -- Telescope, find anything fast 180 + { 181 + "nvim-telescope/telescope.nvim", 182 + config = true, 183 + dependencies = { 184 + "nvim-lua/plenary.nvim", 185 + "nvim-telescope/telescope-symbols.nvim", 186 + "nvim-telescope/telescope-fzf-native.nvim" 187 + } 188 + }, 189 + { 190 + "folke/trouble.nvim", 191 + dependencies = "nvim-tree/nvim-web-devicons", 192 + config = true, 193 + }, 194 + -- Which key is bound? 195 + -- literally the best plugin ever 196 + { 197 + "folke/which-key.nvim", 198 + init = function() 199 + vim.o.timeout = true 200 + vim.o.timeoutlen = 300 201 + end, 202 + config = true 203 + }, 204 + -- Developing my neovim 205 + { 206 + "folke/lazydev.nvim", 207 + config = true, 208 + ft = "lua", 209 + lazy = true, 210 + opts = { 211 + library = { 212 + path = "luvit-meta/library", words = { "vim%.uv" }, 213 + }, 214 + }, 215 + dependencies = { 216 + "Bilal2453/luvit-meta" 217 + }, 218 + }, 219 + -- Lithsps 220 + { 221 + "windwp/nvim-autopairs", 222 + event = "InsertEnter", 223 + config = function() 224 + local pairs = require("nvim-autopairs") 220 225 221 - pairs.setup({ 222 - check_ts = true, 223 - enable_check_bracket_line = false, 224 - }) 226 + pairs.setup({ 227 + check_ts = true, 228 + enable_check_bracket_line = false, 229 + }) 225 230 226 - pairs.get_rules("`")[1].not_filetypes = { "clojure", "scheme", "scm", "janet" } 227 - pairs.get_rules("'")[1].not_filetypes = { "clojure", "scheme", "scm", "janet", "rust" } 228 - end, 229 - }, 230 - -- This gives me the paredit engine, it's pretty nifty 231 - { 232 - "gpanders/nvim-parinfer", 233 - ft = { "hy", "scheme", "scm", "clojure", "fennel", "janet", "lisp", "python", "lua" }, 234 - lazy = true, 235 - config = function() 236 - vim.g.parinfer_comment_chars = { ";", "#" } 237 - vim.g.parinfer_force_balance = true 238 - end 239 - }, -- )))))) 240 - -- This one gives me vim-sexp like structural editing 241 - { 242 - "julienvincent/nvim-paredit", 243 - config = function() 244 - local paredit = require('nvim-paredit') 245 - paredit.setup({ 246 - indent = { 247 - enabled = true, 248 - }, 249 - --filetypes = {"clojure", "fennel", "janet"}, 250 - keys = { 251 - ["<localleader>w"] = { 252 - function() 253 - -- place cursor and set mode to `insert` 254 - paredit.cursor.place_cursor( 255 - -- wrap element under cursor with `( ` and `)` 256 - paredit.wrap.wrap_element_under_cursor("( ", ")"), 257 - -- cursor placement opts 258 - { placement = "inner_start", mode = "insert" } 259 - ) 260 - end, 261 - "Wrap element insert head", 262 - }, 263 - 264 - ["<localleader>W"] = { 265 - function() 266 - paredit.cursor.place_cursor( 267 - paredit.wrap.wrap_element_under_cursor("(", ")"), 268 - { placement = "inner_end", mode = "insert" } 269 - ) 270 - end, 271 - "Wrap element insert tail", 272 - }, 273 - -- same as above but for enclosing form 274 - ["<localleader>i"] = { 275 - function() 276 - paredit.cursor.place_cursor( 277 - paredit.wrap.wrap_enclosing_form_under_cursor("( ", ")"), 278 - { placement = "inner_start", mode = "insert" } 279 - ) 280 - end, 281 - "Wrap form insert head", 282 - }, 283 - ["<localleader>I"] = { 284 - function() 285 - paredit.cursor.place_cursor( 286 - paredit.wrap.wrap_enclosing_form_under_cursor("(", ")"), 287 - { placement = "inner_end", mode = "insert" } 288 - ) 289 - end, 290 - "Wrap form insert tail", 291 - }, 292 - ["<localleader>["] = { 293 - function() 294 - paredit.cursor.place_cursor( 295 - paredit.wrap.wrap_enclosing_form_under_cursor("[", "]"), 296 - { placement = "inner_start", mode = "insert" } 297 - ) 298 - end, 299 - }, 300 - ["<localleader>{"] = { 301 - function() 302 - paredit.cursor.place_cursor( 303 - paredit.wrap.wrap_enclosing_form_under_cursor("{", "}"), 304 - { placement = "inner_end", mode = "insert" } 305 - ) 306 - end, 307 - }, 308 - }, 309 - }) 310 - end, 311 - lazy = true, 312 - ft = { "hy", "scheme", "scm", "clojure", "fennel", "janet", "lisp", "python", "lua" } 313 - }, 314 - { 315 - "chiefnoah/nvim-paredit-janet", 316 - dependencies = { "julienvincent/nvim-paredit" }, 317 - lazy = true, 318 - ft = { "janet" }, 319 - config = function() 320 - require("nvim-paredit-janet").setup() 321 - end, 322 - }, 323 - { 324 - "julienvincent/nvim-paredit-fennel", 325 - dependencies = { "julienvincent/nvim-paredit" }, 326 - lazy = true, 327 - ft = { "fennel" }, 328 - config = true, 329 - }, 330 - { 331 - "ekaitz-zarraga/nvim-paredit-scheme", 332 - lazy = true, 333 - ft = { "scheme" }, 334 - config = function() 335 - require("nvim-paredit-scheme").setup(require("nvim-paredit")) 336 - end, 337 - }, 338 - --{ "hiphish/rainbow-delimiters.nvim", priority = 1050, }, 339 - -- Conjure, lisp is magical 340 - { 341 - "Olical/conjure", 342 - dependencies = { "PaterJason/cmp-conjure" }, 343 - config = function() 344 - vim.g["conjure#client#scheme#stdio#command"] = "gxi" 345 - vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "%d*> $?" 346 - end, 347 - lazy = true, 348 - ft = { "scheme", "scm", "lisp", "fennel", "clojure", "lua", "janet" }, 349 - }, 350 - { "PaterJason/cmp-conjure", lazy = true }, 351 - { "p1xelHer0/gerbil.nvim", lazy = true, ft = "scheme", config = true }, -- Fennel, Luasthp 352 - { "jaawerth/fennel.vim", lazy = true, ft = "fennel", config = true }, 353 - { "rktjmp/hotpot.nvim", lazy = true, ft = "fennel", config = true }, 354 - { "Olical/nfnl", lazy = true, ft = "fennel", config = true }, -- Rust stuff 355 - { 356 - "simrat39/rust-tools.nvim", 357 - lazy = true, 358 - ft = { "rust" }, 359 - config = function() 360 - local rt = require("rust-tools") 361 - rt.setup({ 362 - server = { 363 - on_attach = function(_, bufnr) 364 - -- Hover actions 365 - vim.keymap.set("n", "<C-space>", 366 - rt.hover_actions.hover_actions, 367 - { buffer = bufnr }) 368 - -- Code action groups 369 - vim.keymap.set("n", "<Leader>a", 370 - rt.code_action_group.code_action_group, 371 - { buffer = bufnr }) 372 - end 373 - } 374 - }) 375 - end, 376 - dependencies = { "nvim-lua/plenary.nvim" } 377 - }, 378 - { "mfussenegger/nvim-dap", lazy = true, ft = { "c", "rust" } }, 379 - { 380 - "saecki/crates.nvim", 381 - tag = "v0.4.0", 382 - dependencies = { "nvim-lua/plenary.nvim" }, 383 - config = function() require("crates").setup() end, 384 - lazy = true, 385 - ft = { "rust" } 386 - }, -- RISC-V Assembly syntax highlighting 387 - { "kylelaker/riscv.vim", ft = "riscv" }, -- Hare Stuff 388 - -- Hare stuff 389 - -- Haredoc 390 - { 391 - url = "https://git.sr.ht/~torresjrjr/vim-haredoc", 392 - lazy = true, 393 - ft = { "hare" }, 394 - branch = "dev" 395 - }, 396 - { url = "https://git.sr.ht/~sircmpwn/hare.vim", ft = { "hare" } }, 397 - -- TCL 398 - { "lewis6991/tree-sitter-tcl", lazy = true, build = "make" }, 399 - -- LF 400 - { 401 - "ptzz/lf.vim", 402 - lazy = true, 403 - cmd = { "Lf" }, 404 - dependencies = { "voldikss/vim-floaterm" } 405 - }, 406 - -- SuperMaven, another AI coding tool 407 - { 408 - "supermaven-inc/supermaven-nvim", 409 - opts = { keymaps = { accept_suggestion = "<C-f>" } }, 410 - lazy = true, 411 - cmd = "SupermavenStart" 412 - }, 413 - { "imsnif/kdl.vim", lazy = true, ft = "kdl" }, 414 - } 231 + pairs.get_rules("`")[1].not_filetypes = { "clojure", "scheme", "scm", "janet" } 232 + pairs.get_rules("'")[1].not_filetypes = { "clojure", "scheme", "scm", "janet", "rust" } 233 + end, 234 + }, 235 + -- This gives me the paredit engine, it's pretty nifty 236 + { 237 + "gpanders/nvim-parinfer", 238 + ft = { "hy", "scheme", "scm", "clojure", "fennel", "janet", "lisp", "python", "lua" }, 239 + lazy = true, 240 + config = function() 241 + --vim.g.parinfer_comment_chars = { ";" } 242 + vim.g.parinfer_force_balance = true 243 + end 244 + }, -- )))))) 245 + -- This one gives me vim-sexp like structural editing 246 + { 247 + "julienvincent/nvim-paredit", 248 + config = function() 249 + local paredit = require('nvim-paredit') 250 + paredit.setup({ 251 + indent = { 252 + enabled = true, 253 + }, 254 + filetypes = { "clojure", "fennel", "janet" }, 255 + }) 256 + end, 257 + lazy = true, 258 + ft = { "hy", "scheme", "scm", "clojure", "fennel", "janet", "lisp", "python", "lua" } 259 + }, 260 + --{ "hiphish/rainbow-delimiters.nvim", priority = 1050, }, 261 + -- Conjure, lisp is magical 262 + { 263 + "Olical/conjure", 264 + dependencies = { "PaterJason/cmp-conjure" }, 265 + config = function() 266 + vim.g["conjure#client#scheme#stdio#command"] = "gxi" 267 + vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "%d*> $?" 268 + end, 269 + lazy = true, 270 + ft = { "scheme", "scm", "lisp", "fennel", "clojure", "lua", "janet" }, 271 + }, 272 + { "PaterJason/cmp-conjure", lazy = true }, 273 + { "p1xelHer0/gerbil.nvim", lazy = true, ft = "scheme", config = true }, -- Fennel, Luasthp 274 + { "jaawerth/fennel.vim", lazy = true, ft = "fennel", config = true }, 275 + { "rktjmp/hotpot.nvim", lazy = true, ft = "fennel", config = true }, 276 + { "Olical/nfnl", lazy = true, ft = "fennel", config = true }, -- Rust stuff 277 + { 278 + "simrat39/rust-tools.nvim", 279 + lazy = true, 280 + ft = { "rust" }, 281 + config = function() 282 + local rt = require("rust-tools") 283 + rt.setup({ 284 + server = { 285 + on_attach = function(_, bufnr) 286 + -- Hover actions 287 + vim.keymap.set("n", "<C-space>", 288 + rt.hover_actions.hover_actions, 289 + { buffer = bufnr }) 290 + -- Code action groups 291 + vim.keymap.set("n", "<Leader>a", 292 + rt.code_action_group.code_action_group, 293 + { buffer = bufnr }) 294 + end 295 + } 296 + }) 297 + end, 298 + dependencies = { "nvim-lua/plenary.nvim" } 299 + }, 300 + { "mfussenegger/nvim-dap", lazy = true, ft = { "c", "rust" } }, 301 + { 302 + "saecki/crates.nvim", 303 + tag = "v0.4.0", 304 + dependencies = { "nvim-lua/plenary.nvim" }, 305 + config = function() require("crates").setup() end, 306 + lazy = true, 307 + ft = { "rust" } 308 + }, -- RISC-V Assembly syntax highlighting 309 + { "kylelaker/riscv.vim", ft = "riscv" }, -- Hare Stuff 310 + -- Hare stuff 311 + -- Haredoc 312 + { 313 + url = "https://git.sr.ht/~torresjrjr/vim-haredoc", 314 + lazy = true, 315 + ft = { "hare" }, 316 + branch = "dev" 317 + }, 318 + { url = "https://git.sr.ht/~sircmpwn/hare.vim", ft = { "hare" } }, 319 + -- TCL 320 + { "lewis6991/tree-sitter-tcl", lazy = true, build = "make" }, 321 + -- LF 322 + { 323 + "ptzz/lf.vim", 324 + lazy = true, 325 + cmd = { "Lf" }, 326 + dependencies = { "voldikss/vim-floaterm" } 327 + }, 328 + { "imsnif/kdl.vim", lazy = true, ft = "kdl" }, 329 + { "catgoose/nvim-colorizer.lua", lazy = true, ft = { "css", "html", "toml", "conf" } }, 330 + { "github/copilot.vim", lazy = true, cmd = { "Copilot" } } 331 + } 415 332 })
+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"