diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | init.vim | 22 | ||||
-rw-r--r-- | lua/basic.lua | 1 | ||||
-rw-r--r-- | lua/config/lazy.lua | 35 | ||||
-rw-r--r-- | lua/debugging.lua | 86 | ||||
-rw-r--r-- | lua/plugins/ale.lua | 27 | ||||
-rw-r--r-- | lua/plugins/neo-tree.lua | 13 | ||||
-rw-r--r-- | lua/plugins/nvim-dap.lua | 14 | ||||
-rw-r--r-- | lua/plugins/vim-fugitive.lua | 7 | ||||
-rw-r--r-- | lua/plugins/vim-ripgrep.lua | 8 | ||||
-rw-r--r-- | lua/plugins/vimwiki.lua | 15 |
11 files changed, 225 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e033bc6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +lazy-lock.json @@ -1,6 +1,10 @@ +" Vset runtimepath^=~/.vim runtimepath+=~/.vim.after +" let &packpath = &runtimepath +" source ~/.vimrc + filetype on syntax on -colorscheme nord "substrata +colorscheme habamax set number filetype indent on set nowrap @@ -10,7 +14,9 @@ set expandtab set smartindent set autoindent set guioptions-=T -set statusline=%q%m%r\ %f%=%y\ %c,%l/%L\ %{FugitiveStatusline()} + +" Allow running local config files +set exrc " highlight cursor line set cursorline @@ -31,8 +37,11 @@ noremap <silent> <Esc> :nohlsearch<Bar>:echo<CR> noremap <up> gk noremap <down> gj -" toggle nerdtree with ctrl-o -map <C-o> :NERDTreeToggle<CR> +nnoremap <c-o> :Neotree toggle reveal_force_cwd<cr> +" nnoremap | :Neotree reveal<cr> +" nnoremap gd :Neotree float reveal_file=<cfile> reveal_force_cwd<cr> +" nnoremap <leader>b :Neotree toggle show buffers right<cr> +nnoremap <leader>s :Neotree float git_status<cr> " Toggle word-wrap mode " This will also fix movement keys so they move by visual @@ -67,3 +76,8 @@ function ToggleWrap() inoremap <buffer> <silent> <End> <C-o>g<End> endif endfunction + +lua require('config.lazy') +lua require('basic') +lua require('debugging') + diff --git a/lua/basic.lua b/lua/basic.lua new file mode 100644 index 0000000..4cfc121 --- /dev/null +++ b/lua/basic.lua @@ -0,0 +1 @@ +print('Hello from basic.lua') diff --git a/lua/config/lazy.lua b/lua/config/lazy.lua new file mode 100644 index 0000000..f5ee74c --- /dev/null +++ b/lua/config/lazy.lua @@ -0,0 +1,35 @@ +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +-- Make sure to setup `mapleader` and `maplocalleader` before +-- loading lazy.nvim so that mappings are correct. +-- This is also a good place to setup other settings (vim.opt) +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + +-- Setup lazy.nvim +require("lazy").setup({ + spec = { + -- import your plugins + { import = "plugins" }, + }, + -- Configure any other settings here. See the documentation for more details. + -- colorscheme that will be used when installing plugins. + install = { colorscheme = { "habamax" } }, + -- automatically check for plugin updates + checker = { enabled = true }, +}) diff --git a/lua/debugging.lua b/lua/debugging.lua new file mode 100644 index 0000000..bb57624 --- /dev/null +++ b/lua/debugging.lua @@ -0,0 +1,86 @@ +-- Debuging setup for NeoVim + +local dap = require('dap') +local dapui = require('dapui') + +-- +-- Adapters +-- +dap.adapters.gdb = { + type = "executable", + command = "gdb", + args = { "-i", "dap" } +} + +dap.adapters.php = { + type = "executable", + command = "node", + args = { '/usr/lib/node_modules/php-debug/out/phpDebug.js' } +} + +dap.adapters.rust_gdb = { + type = "executable", + command = "rust-gdb", + args = { "-i", "dap" } +} + +-- +-- Configurations +-- +dap.configurations.c = { + { + name = "Launch", + type = "gdb", + request = "launch", + program = function() + return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') + end, + cwd = "${workspacefolder}", + }, +} + +dap.configurations.rust = { + { + name = "Launch", + type = "rust_gdb", + request = "launch", + program = function() + return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/target/debug', 'file') + end, + cwd = "${workspacefolder}", + }, +} + +dap.configurations.php = { + { + name = "Listen for Xdebug", + type = "php", + request = "launch", + port = 9003, + }, +} +require("dap.ext.vscode").load_launchjs(vim.fn.getcwd() .. "/.vscode/launch.json", {}) + +-- Set up some keybindings +vim.keymap.set('n', '<Leader>db', function() dap.toggle_breakpoint() end) +vim.keymap.set('n', '<Leader>dc', function() dap.continue() end) +vim.keymap.set('n', '<Leader>dr', function() dap.repl.open() end) +vim.keymap.set('n', '<F10>', function() dap.step_over() end) +vim.keymap.set('n', '<F11>', function() dap.step_into() end) +vim.keymap.set('n', '<F12>', function() dap.step_out() end) + +-- Set up the UI +dapui.setup() + +dap.listeners.before.attach.dapui_config = function() + dapui.open() +end +dap.listeners.before.launch.dapui_config = function() + dapui.open() +end +dap.listeners.before.event_terminated.dapui_config = function() + dapui.close() +end +dap.listeners.before.event_exited.dapui_config = function() + dapui.close() +end diff --git a/lua/plugins/ale.lua b/lua/plugins/ale.lua new file mode 100644 index 0000000..7f1d265 --- /dev/null +++ b/lua/plugins/ale.lua @@ -0,0 +1,27 @@ +return { + { + 'dense-analysis/ale', + config = function() + -- Configuration goes here. + local g = vim.g + + g.ale_lsp_show_message_severity = 'error' + g.ale_ruby_rubocop_auto_correct_all = 1 + + g.ale_php_phpcs_standard = vim.fs.find( + '.phpcs.xml', + {upward = true, type = 'file', limit = 1} + )[1] + + g.ale_php_phpmd_ruleset = vim.fs.find( + { '.phpmd.xml', '.phpmdrules.xml' }, + {upward = true, type = 'file', limit = 1} + )[1] + + g.ale_linters = { + ruby = {'rubocop', 'ruby'}, + lua = {'lua_language_server'}, + } + end + } +} diff --git a/lua/plugins/neo-tree.lua b/lua/plugins/neo-tree.lua new file mode 100644 index 0000000..1dd044b --- /dev/null +++ b/lua/plugins/neo-tree.lua @@ -0,0 +1,13 @@ +return { + { + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended + "MunifTanjim/nui.nvim", + -- "3rd/image.nvim", -- Optional image support in preview window: See `# Preview Mode` for more information + }, + opts = {} + } +} diff --git a/lua/plugins/nvim-dap.lua b/lua/plugins/nvim-dap.lua new file mode 100644 index 0000000..8cc4a3c --- /dev/null +++ b/lua/plugins/nvim-dap.lua @@ -0,0 +1,14 @@ +return { + { + "mfussenegger/nvim-dap", + opt = { + } + }, + { + "rcarriga/nvim-dap-ui", + dependencies = { + "mfussenegger/nvim-dap", + "nvim-neotest/nvim-nio" + } + } +} diff --git a/lua/plugins/vim-fugitive.lua b/lua/plugins/vim-fugitive.lua new file mode 100644 index 0000000..3774b76 --- /dev/null +++ b/lua/plugins/vim-fugitive.lua @@ -0,0 +1,7 @@ +return { + { + "tpope/vim-fugitive", + config = function() + end; + } +} diff --git a/lua/plugins/vim-ripgrep.lua b/lua/plugins/vim-ripgrep.lua new file mode 100644 index 0000000..15eb8fe --- /dev/null +++ b/lua/plugins/vim-ripgrep.lua @@ -0,0 +1,8 @@ +return { + { + "jremmen/vim-ripgrep", + lazy = false, + config = function() + end; + } +} diff --git a/lua/plugins/vimwiki.lua b/lua/plugins/vimwiki.lua new file mode 100644 index 0000000..e234d98 --- /dev/null +++ b/lua/plugins/vimwiki.lua @@ -0,0 +1,15 @@ +return { + { + "vimwiki/vimwiki", + lazy = false, + init = function() + vim.g.vimwiki_list = {{ + path = '~/Yme/Notater', + syntax = 'markdown', + ext = 'md' + }} + end; + config = function() + end; + } +} |