summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--init.vim80
-rw-r--r--lua/config/lazy.lua35
-rw-r--r--lua/plugins/ale.lua16
-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
8 files changed, 171 insertions, 3 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 5ea900f..0a15751 100644
--- a/init.vim
+++ b/init.vim
@@ -1,6 +1,80 @@
-set runtimepath^=~/.vim runtimepath+=~/.vim.after
-let &packpath = &runtimepath
-source ~/.vimrc
+" Vset runtimepath^=~/.vim runtimepath+=~/.vim.after
+" let &packpath = &runtimepath
+" source ~/.vimrc
+filetype on
+syntax on
+colorscheme default
+set number
+filetype indent on
+set nowrap
+set tabstop=2
+set shiftwidth=2
+set expandtab
+set smartindent
+set autoindent
+set guioptions-=T
+
+" highlight cursor line
+set cursorline
+
+" highlight search matches
+set hlsearch
+
+" show matching parenthesis/brackets
+set showmatch
+
+" remove whitespace on write
+autocmd BufWritePre * :%s/\s\+$//e
+
+" press esc to cancel search
+noremap <silent> <Esc> :nohlsearch<Bar>:echo<CR>
+
+" Arrow keys move visually up/down.
+noremap <up> gk
+noremap <down> gj
+
+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
+" lines instead of physical lines in word-wrap mode.
+" See https://vim.fandom.com/wiki/Move_cursor_by_display_lines_when_wrapping
+noremap <silent> <leader>w :call ToggleWrap()<CR>
+function ToggleWrap()
+ if &wrap
+ echo "Wrap OFF"
+ setlocal nowrap
+ set virtualedit=all
+ silent! nunmap <buffer> <Up>
+ silent! nunmap <buffer> <Down>
+ silent! nunmap <buffer> <Home>
+ silent! nunmap <buffer> <End>
+ silent! iunmap <buffer> <Up>
+ silent! iunmap <buffer> <Down>
+ silent! iunmap <buffer> <Home>
+ silent! iunmap <buffer> <End>
+ else
+ echo "Wrap ON"
+ setlocal wrap linebreak nolist
+ set virtualedit=
+ setlocal display+=lastline
+ noremap <buffer> <silent> <Up> gk
+ noremap <buffer> <silent> <Down> gj
+ noremap <buffer> <silent> <Home> g<Home>
+ noremap <buffer> <silent> <End> g<End>
+ inoremap <buffer> <silent> <Up> <C-o>gk
+ inoremap <buffer> <silent> <Down> <C-o>gj
+ inoremap <buffer> <silent> <Home> <C-o>g<Home>
+ inoremap <buffer> <silent> <End> <C-o>g<End>
+ endif
+endfunction
+
+lua require('config.lazy')
lua require('basic')
lua require('debugging')
+
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/plugins/ale.lua b/lua/plugins/ale.lua
new file mode 100644
index 0000000..36bba77
--- /dev/null
+++ b/lua/plugins/ale.lua
@@ -0,0 +1,16 @@
+return {
+ {
+ 'dense-analysis/ale',
+ config = function()
+ -- Configuration goes here.
+ local g = vim.g
+
+ g.ale_ruby_rubocop_auto_correct_all = 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;
+ }
+}