summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--init.vim22
-rw-r--r--lua/basic.lua1
-rw-r--r--lua/config/lazy.lua35
-rw-r--r--lua/debugging.lua86
-rw-r--r--lua/plugins/ale.lua27
-rw-r--r--lua/plugins/neo-tree.lua13
-rw-r--r--lua/plugins/nvim-dap.lua14
-rw-r--r--lua/plugins/vim-fugitive.lua7
-rw-r--r--lua/plugins/vim-ripgrep.lua8
-rw-r--r--lua/plugins/vimwiki.lua15
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
diff --git a/init.vim b/init.vim
index 05e4b79..6eb2a41 100644
--- a/init.vim
+++ b/init.vim
@@ -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;
+ }
+}