rewrite some more nvim config in fennel

This commit is contained in:
LordMZTE 2023-02-18 23:34:09 +01:00
parent bc4bb61585
commit c79c74d23c
Signed by: LordMZTE
GPG key ID: B64802DC33A64FF6
12 changed files with 173 additions and 305 deletions

View file

@ -0,0 +1,8 @@
(local autopairs (require :nvim-autopairs))
(local cmp-autopairs (require :nvim-autopairs.completion.cmp))
(local cmp (require :cmp))
(autopairs.setup {:check_ts true :fast_wrap {}})
(cmp.event:on :confirm_done
(cmp-autopairs.on_confirm_done {:map_char {:tex ""}}))

View file

@ -1,10 +0,0 @@
local autopairs = require "nvim-autopairs"
local cmp_autopairs = require "nvim-autopairs.completion.cmp"
local cmp = require "cmp"
autopairs.setup {
check_ts = true,
fast_wrap = {},
}
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done { map_char = { tex = "" } })

View file

@ -0,0 +1,10 @@
(local lline (require :lualine))
(lline.setup {:options {:theme :dracula}
:sections {:lualine_b [:filename :diff]
:lualine_c [:diagnostics]}
:tabline {:lualine_a [{1 :tabs
;; show file name
:mode 1}]
:lualine_x [:searchcount]
:lualine_y [:branch]}})

View file

@ -1,21 +0,0 @@
local lline = require "lualine"
lline.setup {
options = {
theme = "dracula",
},
sections = {
lualine_b = { "filename", "diff" },
lualine_c = { "diagnostics" },
},
tabline = {
lualine_a = {
{
"tabs",
mode = 1, -- show file name
},
},
lualine_x = { "searchcount" },
lualine_y = { "branch" },
},
}

View file

@ -0,0 +1,21 @@
(local nullls (require :null-ls))
(macro src [categ name]
`(. nullls :builtins ,categ ,name))
(nullls.setup {:sources [(src :code_actions :gitsigns)
(src :code_actions :shellcheck)
(src :diagnostics :fish)
(src :diagnostics :shellcheck)
(src :diagnostics :tidy)
;; a shitty python formatter
;; TODO: remove once done with involuntary python classes
(src :formatting :black)
(src :formatting :clang_format)
(src :formatting :fish_indent)
(src :formatting :fnlfmt)
(src :formatting :prettier)
(src :formatting :raco_fmt)
(src :formatting :shfmt)
(src :formatting :stylua)
(src :formatting :tidy)]})

View file

@ -1,22 +0,0 @@
local nullls = require "null-ls"
nullls.setup {
sources = {
nullls.builtins.code_actions.gitsigns,
nullls.builtins.code_actions.shellcheck,
nullls.builtins.diagnostics.fish,
nullls.builtins.diagnostics.shellcheck,
nullls.builtins.diagnostics.tidy,
-- a shitty python formatter
-- TODO: remove once done with forced python classes
nullls.builtins.formatting.black,
nullls.builtins.formatting.clang_format,
nullls.builtins.formatting.fish_indent,
nullls.builtins.formatting.fnlfmt,
nullls.builtins.formatting.prettier,
nullls.builtins.formatting.raco_fmt,
nullls.builtins.formatting.shfmt,
nullls.builtins.formatting.stylua,
nullls.builtins.formatting.tidy,
},
}

View file

@ -0,0 +1,6 @@
(local aerial (require :aerial))
(aerial.setup {:backends [:lsp :treesitter :markdown :man]})
(vim.api.nvim_set_keymap :n :-o :<cmd>AerialToggle<CR>
{:noremap true :silent true})

View file

@ -1,8 +0,0 @@
local aerial = require "aerial"
local map = vim.api.nvim_set_keymap
aerial.setup {
backends = { "lsp", "treesitter", "markdown", "man" },
}
map("n", "-o", "<cmd>AerialToggle<CR>", { noremap = true, silent = true })

View file

@ -0,0 +1,80 @@
(vim.cmd "packadd packer.nvim")
(macro pconf [plugin]
`#(require ,(.. :pluginconf. plugin)))
(macro use/pconf [use plugin conf]
`(,use {1 ,plugin :config (pconf ,conf)}))
(macro use/pconf [use plugin conf extra]
(var c {1 plugin :config `(pconf ,conf)})
(when (table? extra)
(each [k v (pairs extra)]
(tset c k v)))
`(,use ,c))
(fn cmp-plugins [use]
(use/pconf use :neovim/nvim-lspconfig :lspconf)
(use/pconf use :hrsh7th/nvim-cmp :nvim_cmp)
(use :hrsh7th/cmp-nvim-lsp)
(use :hrsh7th/cmp-buffer)
(use :hrsh7th/cmp-path)
(use :hrsh7th/cmp-cmdline)
(use :saadparwaiz1/cmp_luasnip)
(use/pconf use :L3MON4D3/LuaSnip :nvim_luasnip
{:requires :rafamadriz/friendly-snippets})
(use {1 :Saecki/crates.nvim :config #((. (require :crates) :setup) {})})
(use :ray-x/cmp-treesitter)
(use/pconf use :jose-elias-alvarez/null-ls.nvim :nullls)
(use {1 :LhKipp/nvim-nu
:config #((. (require :nu) :setup) {:complete_cmd_names true})}))
(fn init [use]
(use :wbthomason/packer.nvim)
(use {1 :dracula/vim :as :dracula})
(use {1 :lewis6991/gitsigns.nvim
:config #((. (require :gitsigns) :setup) {})})
(use :dag/vim-fish)
(use/pconf use :nvim-lualine/lualine.nvim :line)
(use/pconf use :nvim-treesitter/nvim-treesitter :treesitter)
(use/pconf use :nvim-tree/nvim-web-devicons :web_devicons)
(use/pconf use :nvim-tree/nvim-tree.lua :nvimtree
{:requires :nvim-tree/nvim-web-devicons})
(use/pconf use :TimUntersberger/neogit :nvim_neogit
{:requires :nvim-lua/plenary.nvim})
(use/pconf use :nvim-telescope/telescope.nvim :telescope
{:requires :nvim-lua/plenary.nvim})
(use/pconf use :windwp/nvim-autopairs :autopairs)
(use :windwp/nvim-ts-autotag)
(use/pconf use :HiPhish/nvim-ts-rainbow2 :tsrainbow2)
(use/pconf use :akinsho/toggleterm.nvim :tterm)
(use :DingDean/wgsl.vim)
(use :rcarriga/nvim-notify)
;; replaced by noice?
;(use {1 :stevearc/dressing.nvim :config #((. (require :dressing) :setup) {})})
(use/pconf use :nvim-treesitter/nvim-treesitter-context :ts-context)
(use :DaeZak/crafttweaker-vim-highlighting)
(use :mfussenegger/nvim-jdtls)
(use/pconf use :kevinhwang91/nvim-ufo :nvim_ufo
{:requires :kevinhwang91/promise-async :after :nvim-lspconfig})
(use/pconf use :stevearc/aerial.nvim :nvim_aerial)
(use/pconf use :mfussenegger/nvim-dap :nvim_dap
{:requires :rcarriga/nvim-dap-ui})
(use/pconf use :ThePrimeagen/harpoon :nvim_harpoon)
(use/pconf use :chrisgrieser/nvim-recorder :nvim_recorder)
;(use/pconf use :folke/noice.nvim :nvim_noice {:requires :MunifTajim/nui.nvim})
(use :jdonaldson/vaxe)
(cmp-plugins use))
((. (require :packer) :startup) init)
;; actually compile packer-generated config after packer's "compile" step
(fn compile-packer-generated []
(let [mztenv (require :mzte_nv)
packer (require :packer)]
(mztenv.compile.compilePath packer.config.compile_path)))
(vim.api.nvim_create_autocmd :User
{:pattern :PackerCompileDone
:once true
:callback compile-packer-generated})

View file

@ -1,197 +0,0 @@
vim.cmd [[packadd packer.nvim]]
local function pconf(plugin)
return 'require("pluginconf.' .. plugin .. '")'
end
local function cmp_plugins(use)
use {
"neovim/nvim-lspconfig",
config = pconf "lspconf",
}
use "hrsh7th/cmp-nvim-lsp"
use "hrsh7th/cmp-buffer"
use "hrsh7th/cmp-path"
use "hrsh7th/cmp-cmdline"
use {
"hrsh7th/nvim-cmp",
config = pconf "nvim_cmp",
}
use "saadparwaiz1/cmp_luasnip"
use {
"L3MON4D3/LuaSnip",
config = pconf "nvim_luasnip",
requires = {
"rafamadriz/friendly-snippets",
-- temporarily removed due to syntax error in recent commit
--"honza/vim-snippets",
},
}
use {
"Saecki/crates.nvim",
config = function()
require("crates").setup {}
end,
}
use "ray-x/cmp-treesitter"
use {
"jose-elias-alvarez/null-ls.nvim",
config = pconf "nullls",
}
use {
"LhKipp/nvim-nu",
config = function()
require("nu").setup {
complete_cmd_names = true,
}
end,
}
end
require("packer").startup(function(use)
use "wbthomason/packer.nvim"
use {
"dracula/vim",
as = "dracula",
}
use {
"lewis6991/gitsigns.nvim",
config = function()
require("gitsigns").setup {}
end,
}
use "dag/vim-fish"
use "uiiaoo/java-syntax.vim"
use {
"nvim-lualine/lualine.nvim",
requires = "arkav/lualine-lsp-progress",
config = pconf "line",
}
use {
"nvim-treesitter/nvim-treesitter",
run = ":TSUpdateSync",
config = pconf "treesitter",
}
use {
"nvim-tree/nvim-web-devicons",
config = pconf "web_devicons",
}
use {
"nvim-tree/nvim-tree.lua",
requires = "nvim-tree/nvim-web-devicons",
config = pconf "nvimtree",
}
use {
"TimUntersberger/neogit",
requires = "nvim-lua/plenary.nvim",
config = pconf "nvim_neogit",
}
use "ron-rs/ron.vim"
use {
"nvim-telescope/telescope.nvim",
requires = {
"nvim-lua/plenary.nvim",
},
config = pconf "telescope",
}
use "gluon-lang/vim-gluon"
use {
"windwp/nvim-autopairs",
config = pconf "autopairs",
}
use "windwp/nvim-ts-autotag"
use {
"HiPhish/nvim-ts-rainbow2",
requires = "nvim-treesitter/nvim-treesitter",
config = pconf "tsrainbow2",
}
use {
"akinsho/toggleterm.nvim",
config = pconf "tterm",
}
use {
"NTBBloodbath/zig-tools.nvim",
config = pconf "zigtools",
}
use "DingDean/wgsl.vim"
use "rcarriga/nvim-notify"
use {
"stevearc/dressing.nvim",
config = function()
require("dressing").setup {}
end,
}
use {
"nvim-treesitter/nvim-treesitter-context",
config = pconf "ts-context",
}
use "DaeZak/crafttweaker-vim-highlighting"
use "mfussenegger/nvim-jdtls"
use {
"kevinhwang91/nvim-ufo",
requires = "kevinhwang91/promise-async",
after = "nvim-lspconfig",
config = pconf "nvim_ufo",
}
use {
"stevearc/aerial.nvim",
config = pconf "nvim_aerial",
}
use {
"mfussenegger/nvim-dap",
config = pconf "nvim_dap",
requires = "rcarriga/nvim-dap-ui",
}
use {
"ThePrimeagen/harpoon",
config = pconf "nvim_harpoon",
}
use {
"chrisgrieser/nvim-recorder",
config = pconf "nvim_recorder",
}
--use {
-- "folke/noice.nvim",
-- config = pconf "nvim_noice",
-- requires = "MunifTanjim/nui.nvim",
--}
use "jdonaldson/vaxe"
cmp_plugins(use)
end)
-- actually compile packer-generated config after packer's "compile" step
vim.api.nvim_create_autocmd("User", {
pattern = "PackerCompileDone",
once = true,
callback = function()
require("mzte_nv").compile.compilePath(require("packer").config.compile_path)
end,
})

View file

@ -0,0 +1,48 @@
(local cmd vim.cmd)
(local (wo g opt) (values vim.wo vim.g vim.opt))
(cmd "syntax on")
;; Indentation
(set opt.tabstop 4)
(set opt.shiftwidth 4)
(set opt.expandtab true)
;; Search
(set opt.ignorecase true)
(set opt.smartcase true)
;; Window config
(set opt.scrolloff 10)
(set opt.number true)
(set opt.relativenumber true)
(set opt.guifont "Iosevka Nerd Font Mono:h10")
(set opt.mouse :a)
(set opt.termguicolors true)
(set opt.cursorline true)
(set opt.cursorcolumn true)
;; Folds
(set opt.conceallevel 2)
;; Disable unwanted filetype mappings
(set g.no_plugin_maps true)
;; Other settings
(cmd "colorscheme dracula")
(cmd "filetype plugin on")
;; Disable garbage providers
(let [garbage [:python :python3 :ruby :perl :node]]
(each [_ ga (ipairs garbage)]
(tset g (.. :loaded_ ga :_provider) false)))
;; Compile commands
(let [compile-path (. (require :mzte_nv) :compile :compilePath)
make-cmd vim.api.nvim_create_user_command]
(make-cmd :CompileConfig
#(compile-path (.. (vim.fn.getenv :HOME) :/.config/nvim)) {:nargs 0})
(make-cmd :CompilePlugins
#(compile-path (. (require :packer) :config :package_root))
{:nargs 0}))

View file

@ -1,47 +0,0 @@
local cmd = vim.cmd
local o = vim.o
local wo = vim.wo
local g = vim.g
local opt = vim.opt
cmd "syntax on"
o.tabstop = 4
o.shiftwidth = 4
o.expandtab = true
o.ignorecase = true
o.smartcase = true
o.scrolloff = 10
opt.number = true
opt.relativenumber = true
o.guifont = "Iosevka Nerd Font Mono:h10"
o.mouse = "a"
o.termguicolors = true
wo.cursorline = true
wo.cursorcolumn = true
o.conceallevel = 2
-- disable unwanted filetype mappings
g.no_plugin_maps = true
-- disable garbage providers
g.loaded_python_provider = false
g.loaded_python3_provider = false
g.loaded_ruby_provider = false
g.loaded_perl_provider = false
g.loaded_node_provider = false
cmd "colorscheme dracula"
cmd "autocmd StdinReadPre * let s:std_in=1"
cmd "filetype plugin on"
vim.api.nvim_create_user_command("CompileConfig", function()
require("mzte_nv").compile.compilePath(vim.fn.getenv("HOME") .. "/.config/nvim")
end, { nargs = 0 })
vim.api.nvim_create_user_command("CompilePlugins", function()
require("mzte_nv").compile.compilePath(require("packer").config.package_root)
end, { nargs = 0 })