diff options
Diffstat (limited to '')
| -rw-r--r-- | init.lua | 174 |
1 files changed, 106 insertions, 68 deletions
| @@ -1,8 +1,17 @@ | |||
| 1 | ---@diagnostic disable: undefined-global, | 1 | ---@diagnostic disable: undefined-global, |
| 2 | local option = vim.opt | 2 | local option = vim.opt |
| 3 | local keymap = vim.keymap | 3 | local keymap = vim.keymap |
| 4 | vim.g.loaded_netrw = 1 | 4 | |
| 5 | vim.g.loaded_netrwPlugin = 1 | 5 | vim.loader.enable() |
| 6 | |||
| 7 | -- vim.g.loaded_netrw = 1 | ||
| 8 | -- vim.g.loaded_netrwPlugin = 1 | ||
| 9 | vim.g.netrw_banner = 0 | ||
| 10 | vim.g.netrw_liststyle = 3 | ||
| 11 | vim.g.netrw_altv = 0 | ||
| 12 | vim.g.netrw_winsize = 25 | ||
| 13 | vim.g.netrw_browse_split = 4 | ||
| 14 | |||
| 6 | vim.g.rustfmt_autosave = 1 | 15 | vim.g.rustfmt_autosave = 1 |
| 7 | vim.g.mkdp_auto_start = 1 | 16 | vim.g.mkdp_auto_start = 1 |
| 8 | 17 | ||
| @@ -32,13 +41,42 @@ augroup RunPfOnSave | |||
| 32 | autocmd! | 41 | autocmd! |
| 33 | autocmd BufWritePost *.js,*.ts,*.jsx,*json,*.tsx,*.css,*.html,*.yaml,*.md silent! !prettier --write % | 42 | autocmd BufWritePost *.js,*.ts,*.jsx,*json,*.tsx,*.css,*.html,*.yaml,*.md silent! !prettier --write % |
| 34 | autocmd BufWritePost *.tex silent! :VimtexCompile | 43 | autocmd BufWritePost *.tex silent! :VimtexCompile |
| 35 | autocmd BufWritePost *.md silent! :MarkdownPreview | 44 | " autocmd BufWritePost *.php silent! !php-cs-fixer fix % |
| 36 | autocmd BufWritePost *.php silent! !php-cs-fixer fix % | ||
| 37 | augroup END | 45 | augroup END |
| 38 | ]]) | 46 | ]]) |
| 39 | 47 | ||
| 48 | |||
| 49 | vim.cmd([[ | ||
| 50 | augroup AutoDeleteNetrwHiddenBuffers | ||
| 51 | au! | ||
| 52 | au FileType netrw setlocal bufhidden=wipe | ||
| 53 | augroup end | ||
| 54 | ]]) | ||
| 55 | |||
| 56 | vim.cmd([[ | ||
| 57 | function! ToggleVExplorer() | ||
| 58 | if exists("t:expl_buf_num") | ||
| 59 | let expl_win_num = bufwinnr(t:expl_buf_num) | ||
| 60 | if expl_win_num != -1 | ||
| 61 | let cur_win_id = win_getid() | ||
| 62 | exec expl_win_num . 'windo close' | ||
| 63 | let prev_win_num = win_id2win(cur_win_id) | ||
| 64 | if prev_win_num != 0 | ||
| 65 | exec prev_win_num . 'wincmd w' | ||
| 66 | endif | ||
| 67 | endif | ||
| 68 | unlet t:expl_buf_num | ||
| 69 | else | ||
| 70 | exec '1wincmd w' | ||
| 71 | Vexplore | ||
| 72 | let t:expl_buf_num = bufnr("%") | ||
| 73 | endif | ||
| 74 | endfunction | ||
| 75 | ]]) | ||
| 76 | |||
| 77 | |||
| 40 | -- Gui options | 78 | -- Gui options |
| 41 | vim.o.guifont = "Fira Code:h7" | 79 | -- vim.o.guifont = "Fira Code:h7" |
| 42 | vim.g.vimtex_view_method = "zathura" | 80 | vim.g.vimtex_view_method = "zathura" |
| 43 | vim.g.vimtex_compiler_method = "latexmk" | 81 | vim.g.vimtex_compiler_method = "latexmk" |
| 44 | vim.g.vimtex_quickfix_mode = 0 | 82 | vim.g.vimtex_quickfix_mode = 0 |
| @@ -62,35 +100,36 @@ end | |||
| 62 | vim.opt.rtp:prepend(lazypath) | 100 | vim.opt.rtp:prepend(lazypath) |
| 63 | require("lazy").setup({ | 101 | require("lazy").setup({ |
| 64 | "nvim-lua/plenary.nvim", | 102 | "nvim-lua/plenary.nvim", |
| 65 | { | 103 | -- { |
| 66 | 'barrientosvctor/abyss.nvim', | 104 | -- 'barrientosvctor/abyss.nvim', |
| 67 | lazy = false, | 105 | -- lazy = false, |
| 68 | priority = 1000, | 106 | -- priority = 1000, |
| 69 | opts = {} | 107 | -- opts = {} |
| 70 | }, | 108 | -- }, |
| 71 | 'ryanoasis/vim-devicons', | 109 | -- 'ryanoasis/vim-devicons', |
| 72 | "airblade/vim-gitgutter", | 110 | "airblade/vim-gitgutter", |
| 73 | "lervag/vimtex", | 111 | "lervag/vimtex", |
| 74 | "nvim-tree/nvim-tree.lua", | 112 | -- "nvim-tree/nvim-tree.lua", |
| 75 | "norcalli/nvim-colorizer.lua", | 113 | "norcalli/nvim-colorizer.lua", |
| 76 | "nvim-treesitter/nvim-treesitter", | 114 | "nvim-treesitter/nvim-treesitter", |
| 77 | "neovim/nvim-lspconfig", | 115 | "neovim/nvim-lspconfig", |
| 78 | "williamboman/mason.nvim", | 116 | "williamboman/mason.nvim", |
| 79 | "nvim-tree/nvim-web-devicons", | 117 | -- "nvim-tree/nvim-web-devicons", |
| 80 | "williamboman/mason-lspconfig.nvim", | 118 | "williamboman/mason-lspconfig.nvim", |
| 81 | "iamcco/markdown-preview.nvim", | 119 | -- "iamcco/markdown-preview.nvim", |
| 82 | cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" }, | 120 | -- cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" }, |
| 83 | build = "cd app && yarn install", | 121 | -- build = "cd app && yarn install", |
| 84 | init = function() | 122 | -- init = function() |
| 85 | vim.g.mkdp_filetypes = { "markdown" } | 123 | -- vim.g.mkdp_filetypes = { "markdown" } |
| 86 | end, | 124 | -- end, |
| 87 | ft = { "markdown" }, | 125 | -- ft = { "markdown" } |
| 88 | { | 126 | -- , |
| 89 | 'nvimdev/lspsaga.nvim', | 127 | -- { |
| 90 | config = function() | 128 | -- 'nvimdev/lspsaga.nvim', |
| 91 | require('lspsaga').setup({}) | 129 | -- config = function() |
| 92 | end | 130 | -- require('lspsaga').setup({}) |
| 93 | }, | 131 | -- end |
| 132 | -- }, | ||
| 94 | 'nvim-telescope/telescope.nvim', | 133 | 'nvim-telescope/telescope.nvim', |
| 95 | tag = '0.1.5', | 134 | tag = '0.1.5', |
| 96 | dependencies = { 'nvim-lua/plenary.nvim' }, | 135 | dependencies = { 'nvim-lua/plenary.nvim' }, |
| @@ -134,26 +173,25 @@ vim.api.nvim_create_autocmd("BufWritePre", { | |||
| 134 | }) | 173 | }) |
| 135 | 174 | ||
| 136 | local lsp_servers = { | 175 | local lsp_servers = { |
| 137 | clangd = {}, | 176 | -- rust_analyzer = { |
| 138 | lua_ls = {}, | 177 | -- imports = { |
| 139 | rust_analyzer = { | 178 | -- granularity = { |
| 140 | imports = { | 179 | -- group = 'module', |
| 141 | granularity = { | 180 | -- }, |
| 142 | group = 'module', | 181 | -- prefix = 'self', |
| 143 | }, | 182 | -- }, |
| 144 | prefix = 'self', | 183 | -- cargo = { |
| 145 | }, | 184 | -- buildScripts = { |
| 146 | cargo = { | 185 | -- enable = true, |
| 147 | buildScripts = { | 186 | -- }, |
| 148 | enable = true, | 187 | -- }, |
| 149 | }, | 188 | -- procMacro = { |
| 150 | }, | 189 | -- enable = true, |
| 151 | procMacro = { | 190 | -- }, |
| 152 | enable = true, | 191 | -- }, |
| 153 | }, | ||
| 154 | }, | ||
| 155 | } | 192 | } |
| 156 | 193 | ||
| 194 | |||
| 157 | require("mason").setup() | 195 | require("mason").setup() |
| 158 | require("mason-lspconfig").setup { | 196 | require("mason-lspconfig").setup { |
| 159 | ensure_installed = lsp_servers, | 197 | ensure_installed = lsp_servers, |
| @@ -174,31 +212,31 @@ for lsp, settings in pairs(lsp_servers) do | |||
| 174 | })) | 212 | })) |
| 175 | end | 213 | end |
| 176 | 214 | ||
| 177 | require("nvim-tree").setup({ | 215 | -- require("nvim-tree").setup({ |
| 178 | sort = { | 216 | -- sort = { |
| 179 | sorter = "case_sensitive", | 217 | -- sorter = "case_sensitive", |
| 180 | }, | 218 | -- }, |
| 181 | view = { | 219 | -- view = { |
| 182 | width = 30, | 220 | -- width = 30, |
| 183 | }, | 221 | -- }, |
| 184 | renderer = { | 222 | -- renderer = { |
| 185 | group_empty = true, | 223 | -- group_empty = true, |
| 186 | }, | 224 | -- }, |
| 187 | filters = { | 225 | -- filters = { |
| 188 | dotfiles = true, | 226 | -- dotfiles = true, |
| 189 | }, | 227 | -- }, |
| 190 | }) | 228 | -- }) |
| 191 | 229 | ||
| 192 | 230 | ||
| 193 | require('abyss').setup({ | 231 | -- require('abyss').setup({ |
| 194 | italic_comments = true, | 232 | -- italic_comments = true, |
| 195 | italic = true, | 233 | -- italic = true, |
| 196 | bold = true, | 234 | -- bold = true, |
| 197 | transparent_background = true, | 235 | -- transparent_background = true, |
| 198 | overrides = {} | 236 | -- overrides = {} |
| 199 | }) | 237 | -- }) |
| 200 | 238 | ||
| 201 | vim.cmd.colorscheme("abyss") | 239 | -- vim.cmd.colorscheme("abyss") |
| 202 | vim.cmd([[ | 240 | vim.cmd([[ |
| 203 | highlight GitGutterAdd ctermbg=none guibg=none | 241 | highlight GitGutterAdd ctermbg=none guibg=none |
| 204 | highlight GitGutterDelete guibg=none ctermbg=none | 242 | highlight GitGutterDelete guibg=none ctermbg=none |
| @@ -244,7 +282,7 @@ highlight DiagnosticVirtualTextHint ctermbg=none guibg=none | |||
| 244 | 282 | ||
| 245 | --Keybinds | 283 | --Keybinds |
| 246 | vim.g.mapleader = " " | 284 | vim.g.mapleader = " " |
| 247 | keymap.set("n", "<leader>e", vim.cmd.NvimTreeToggle) | 285 | keymap.set("n", "<leader>e", "<cmd>:call ToggleVExplorer() <cr>") |
| 248 | keymap.set("n", "<leader>z", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]]) | 286 | keymap.set("n", "<leader>z", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]]) |
| 249 | keymap.set("n", "<leader>a", "ggVG") | 287 | keymap.set("n", "<leader>a", "ggVG") |
| 250 | keymap.set("n", "<leader>y", "cc") | 288 | keymap.set("n", "<leader>y", "cc") |
