馃 my neovim config:)
1
fork

Configure Feed

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

at main 103 lines 2.7 kB view raw
1if vim.g.ivy_ft then 2 return 3end 4 5vim.g.ivy_ft = true 6 7vim.filetype.add({ 8 extension = { 9 rn = "html", 10 rune = "html", 11 }, 12 pattern = { 13 ["shaders/.*%.[vf]sh"] = "glsl", 14 }, 15 filename = { 16 ["todo.txt"] = "todotxt", 17 }, 18}) 19 20--- source @nvim-treesitter https://github.com/nvim-treesitter/nvim-treesitter/blob/4916d6592ede8c07973490d9322f187e07dfefac/plugin/filetypes.lua 21local filetypes = { 22 angular = { "htmlangular" }, 23 bash = { "sh" }, 24 bibtex = { "bib" }, 25 c_sharp = { "cs", "csharp" }, 26 commonlisp = { "lisp" }, 27 cooklang = { "cook" }, 28 devicetree = { "dts" }, 29 diff = { "gitdiff" }, 30 eex = { "eelixir" }, 31 elixir = { "ex" }, 32 embedded_template = { "eruby" }, 33 erlang = { "erl" }, 34 facility = { "fsd" }, 35 faust = { "dsp" }, 36 gdshader = { "gdshaderinc" }, 37 git_config = { "gitconfig" }, 38 git_rebase = { "gitrebase" }, 39 glimmer = { "handlebars", "html.handlebars" }, 40 godot_resource = { "gdresource" }, 41 haskell = { "hs" }, 42 haskell_persistent = { "haskellpersistent" }, 43 idris = { "idris2" }, 44 ini = { "confini", "dosini" }, 45 janet_simple = { "janet" }, 46 javascript = { "javascriptreact", "ecma", "ecmascript", "jsx", "js" }, 47 json = { "jsonc" }, 48 glimmer_javascript = { "javascript.glimmer" }, 49 latex = { "tex" }, 50 linkerscript = { "ld" }, 51 m68k = { "asm68k" }, 52 make = { "automake" }, 53 markdown = { "pandoc" }, 54 muttrc = { "neomuttrc" }, 55 ocaml_interface = { "ocamlinterface" }, 56 perl = { "pl" }, 57 poe_filter = { "poefilter" }, 58 powershell = { "ps1" }, 59 properties = { "jproperties" }, 60 python = { "py", "gyp" }, 61 qmljs = { "qml" }, 62 runescript = { "clientscript" }, 63 scala = { "sbt" }, 64 slang = { "shaderslang" }, 65 sqp = { "mysqp" }, 66 ssh_config = { "sshconfig" }, 67 starlark = { "bzl" }, 68 surface = { "sface" }, 69 systemverilog = { "verilog" }, 70 t32 = { "trace32" }, 71 tcl = { "expect" }, 72 terraform = { "terraform-vars" }, 73 textproto = { "pbtxt" }, 74 tlaplus = { "tla" }, 75 tsx = { "typescriptreact", "typescript.tsx" }, 76 typescript = { "ts" }, 77 glimmer_typescript = { "typescript.glimmer" }, 78 typst = { "typ" }, 79 udev = { "udevrules" }, 80 uxntal = { "tal", "uxn" }, 81 v = { "vlang" }, 82 vhs = { "tape" }, 83 xml = { "xsd", "xslt", "svg" }, 84 xresources = { "xdefaults" }, 85} 86 87for lang, ft in pairs(filetypes) do 88 vim.treesitter.language.register(lang, ft) 89end 90 91vim.on("FileType", "*", {}, function(ev) 92 if not vim.api.nvim_buf_is_loaded(ev.buf) then 93 return 94 end 95 96 local ok, _ = pcall(vim.treesitter.start, ev.buf) 97 if not ok then 98 return 99 end 100 vim.wo.foldmethod = "expr" 101 vim.wo.foldexpr = "v:lua.vim.treesitter.foldexpr()" 102 vim.bo.indentexpr = "v:lua.require('ivy.treesitter-indentexpr').indent()" 103end)