commit
8688b4a64b
|
@ -18,6 +18,22 @@ jobs:
|
||||||
run: make bootstrap
|
run: make bootstrap
|
||||||
env:
|
env:
|
||||||
DOTFILES_CI: 1
|
DOTFILES_CI: 1
|
||||||
|
- name: Install neovim
|
||||||
|
uses: rhysd/action-setup-vim@v1
|
||||||
|
with:
|
||||||
|
neovim: true
|
||||||
|
- name: Install packer
|
||||||
|
if: ${{ matrix.platform != 'windows-latest' }}
|
||||||
|
run: |
|
||||||
|
git clone https://github.com/wbthomason/packer.nvim ~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
||||||
|
- name: Install packer on Windows
|
||||||
|
if: ${{ matrix.platform == 'windows-latest' }}
|
||||||
|
run: |
|
||||||
|
git clone https://github.com/wbthomason/packer.nvim "$env:LOCALAPPDATA\nvim-data\site\pack\packer\start\packer.nvim"
|
||||||
|
- name: Run neovim checks
|
||||||
|
run: make check_neovim
|
||||||
|
env:
|
||||||
|
DOTFILES_CI: 1
|
||||||
create-key:
|
create-key:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -29,3 +45,12 @@ jobs:
|
||||||
run: echo "test\n\n" | make create_personal_ssh_github_key
|
run: echo "test\n\n" | make create_personal_ssh_github_key
|
||||||
env:
|
env:
|
||||||
DOTFILES_CI: 1
|
DOTFILES_CI: 1
|
||||||
|
stylua:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Run stylua
|
||||||
|
uses: JohnnyMorganz/stylua-action@1.0.0
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
args: --check .
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
name: Neovim Nightly compatibility test
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 12 * * *'
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
bootstrap-and-check-nightly:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
platform: [ubuntu-latest, macos-latest, windows-latest]
|
||||||
|
runs-on: ${{ matrix.platform }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Run bootstrap
|
||||||
|
run: make bootstrap
|
||||||
|
env:
|
||||||
|
DOTFILES_CI: 1
|
||||||
|
- name: Install neovim
|
||||||
|
uses: rhysd/action-setup-vim@v1
|
||||||
|
with:
|
||||||
|
neovim: true
|
||||||
|
version: nightly
|
||||||
|
- name: Install packer
|
||||||
|
run: git clone https://github.com/wbthomason/packer.nvim $HOME/.local/share/nvim/site/pack/packer/start/packer.nvim
|
||||||
|
- name: Run neovim checks
|
||||||
|
run: make check_neovim
|
||||||
|
env:
|
||||||
|
DOTFILES_CI: 1
|
12
Makefile
12
Makefile
|
@ -262,8 +262,8 @@ install_brew_basics: homebrew check_os
|
||||||
.PHONY: install_asdf
|
.PHONY: install_asdf
|
||||||
install_asdf: check_os
|
install_asdf: check_os
|
||||||
@echo "Installing ASDF VM..."
|
@echo "Installing ASDF VM..."
|
||||||
@git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.8.0
|
@git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.0
|
||||||
@echo "Installed ASDF Version 0.8.0"
|
@echo "Installed ASDF Version 0.10.0"
|
||||||
@echo "To install latest version:"
|
@echo "To install latest version:"
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "cd ~/.asdf"
|
@echo "cd ~/.asdf"
|
||||||
|
@ -312,6 +312,14 @@ install_vim: check_os link_vim
|
||||||
@echo "For NeoVim: :PackerInstall"
|
@echo "For NeoVim: :PackerInstall"
|
||||||
@echo "For Vim: :PlugInstall"
|
@echo "For Vim: :PlugInstall"
|
||||||
|
|
||||||
|
.PHONY: check_neovim
|
||||||
|
check_neovim: check_os
|
||||||
|
@echo "This expects that packer is already installed"
|
||||||
|
@echo "Installing packer packages"
|
||||||
|
@nvim --headless -c 'autocmd User PackerComplete quitall' -c 'PackerInstall'
|
||||||
|
@echo "Doing a basic neovim startup and quit"
|
||||||
|
@nvim --headless -c 'quitall'
|
||||||
|
|
||||||
.PHONY: oh_my_zsh
|
.PHONY: oh_my_zsh
|
||||||
oh_my_zsh: check_os
|
oh_my_zsh: check_os
|
||||||
@echo "Installing oh-my-zsh..."
|
@echo "Installing oh-my-zsh..."
|
||||||
|
|
|
@ -5,7 +5,7 @@ end
|
||||||
-- Allow `require('impatient')` to fail, in case plugins are not yet installed
|
-- Allow `require('impatient')` to fail, in case plugins are not yet installed
|
||||||
_ = pcall(require, "impatient")
|
_ = pcall(require, "impatient")
|
||||||
|
|
||||||
vim.cmd [[filetype plugin indent on]]
|
vim.cmd([[filetype plugin indent on]])
|
||||||
|
|
||||||
vim.api.nvim_exec('let $OVIMHOME = $HOME."/.vim"', false)
|
vim.api.nvim_exec('let $OVIMHOME = $HOME."/.vim"', false)
|
||||||
vim.api.nvim_exec('let $VIMHOME = $HOME."/.config/nvim"', false)
|
vim.api.nvim_exec('let $VIMHOME = $HOME."/.config/nvim"', false)
|
||||||
|
|
|
@ -6,12 +6,12 @@ local M = {}
|
||||||
|
|
||||||
-- Gets project root directory based on projectionist
|
-- Gets project root directory based on projectionist
|
||||||
function M.get_project_root()
|
function M.get_project_root()
|
||||||
return vim.fn['projectionist#path']()
|
return vim.fn["projectionist#path"]()
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Get unique project ID based on git repository
|
-- Get unique project ID based on git repository
|
||||||
function M.get_project_id()
|
function M.get_project_id()
|
||||||
local remote_url = vim.fn['fugitive#RemoteUrl']()
|
local remote_url = vim.fn["fugitive#RemoteUrl"]()
|
||||||
remote_url = remote_url:gsub("/", ":")
|
remote_url = remote_url:gsub("/", ":")
|
||||||
return remote_url
|
return remote_url
|
||||||
end
|
end
|
||||||
|
|
|
@ -15,7 +15,7 @@ local function get_pr_url(...)
|
||||||
-- Remove prefix if it is available, for some of common git services
|
-- Remove prefix if it is available, for some of common git services
|
||||||
local common_services = { "github.com", "bitbucket.org", "gitlab.com" }
|
local common_services = { "github.com", "bitbucket.org", "gitlab.com" }
|
||||||
for k, service in pairs(common_services) do
|
for k, service in pairs(common_services) do
|
||||||
if (string.find(origin_url, service, 1, true)) then
|
if string.find(origin_url, service, 1, true) then
|
||||||
-- Common mechanism for managing multiple SSH keys
|
-- Common mechanism for managing multiple SSH keys
|
||||||
origin_url = string.gsub(origin_url, "://.*" .. service, "://" .. service)
|
origin_url = string.gsub(origin_url, "://.*" .. service, "://" .. service)
|
||||||
end
|
end
|
||||||
|
@ -23,7 +23,7 @@ local function get_pr_url(...)
|
||||||
|
|
||||||
-- This part probably only works on github
|
-- This part probably only works on github
|
||||||
local pr_url
|
local pr_url
|
||||||
if (select("#", ...) == 0) then
|
if select("#", ...) == 0 then
|
||||||
pr_url = origin_url .. "/compare/" .. vim.fn.FugitiveHead() .. "?expand=1"
|
pr_url = origin_url .. "/compare/" .. vim.fn.FugitiveHead() .. "?expand=1"
|
||||||
else
|
else
|
||||||
pr_url = origin_url .. "/compare/" .. select(1, ...) .. "..." .. vim.fn.FugitiveHead() .. "?expand=1"
|
pr_url = origin_url .. "/compare/" .. select(1, ...) .. "..." .. vim.fn.FugitiveHead() .. "?expand=1"
|
||||||
|
|
|
@ -8,8 +8,7 @@ local download_packer = function()
|
||||||
|
|
||||||
vim.fn.mkdir(directory, "p")
|
vim.fn.mkdir(directory, "p")
|
||||||
|
|
||||||
local out =
|
local out = vim.fn.system(
|
||||||
vim.fn.system(
|
|
||||||
string.format("git clone %s %s", "https://github.com/wbthomason/packer.nvim", directory .. "/packer.nvim")
|
string.format("git clone %s %s", "https://github.com/wbthomason/packer.nvim", directory .. "/packer.nvim")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -1,95 +1,95 @@
|
||||||
return require("packer").startup {
|
return require("packer").startup({
|
||||||
function(use)
|
function(use)
|
||||||
use "wbthomason/packer.nvim"
|
use("wbthomason/packer.nvim")
|
||||||
|
|
||||||
-- Tpope general improvements
|
-- Tpope general improvements
|
||||||
use "tpope/vim-sensible" -- Sane defaults
|
use("tpope/vim-sensible") -- Sane defaults
|
||||||
use "tpope/vim-endwise" -- Add closing statements automatically for if, function etc
|
use("tpope/vim-endwise") -- Add closing statements automatically for if, function etc
|
||||||
use "tpope/vim-surround" -- Surround with ', ", etc
|
use("tpope/vim-surround") -- Surround with ', ", etc
|
||||||
use "tpope/vim-fugitive" -- Git integration
|
use("tpope/vim-fugitive") -- Git integration
|
||||||
use "tpope/vim-vinegar" -- Netrw improvements
|
use("tpope/vim-vinegar") -- Netrw improvements
|
||||||
use "tpope/vim-obsession" -- Session.vim management
|
use("tpope/vim-obsession") -- Session.vim management
|
||||||
use "tpope/vim-dadbod" -- Database access
|
use("tpope/vim-dadbod") -- Database access
|
||||||
use "kristijanhusak/vim-dadbod-ui" -- UI For Dadbod
|
use("kristijanhusak/vim-dadbod-ui") -- UI For Dadbod
|
||||||
use "tpope/vim-speeddating" -- <C-A> and <C-X> for dates
|
use("tpope/vim-speeddating") -- <C-A> and <C-X> for dates
|
||||||
use "tpope/vim-dispatch" -- Dispatch command
|
use("tpope/vim-dispatch") -- Dispatch command
|
||||||
use "tpope/vim-projectionist" -- Project config file!
|
use("tpope/vim-projectionist") -- Project config file!
|
||||||
use "tpope/vim-unimpaired" -- Additional [ and ] mappings
|
use("tpope/vim-unimpaired") -- Additional [ and ] mappings
|
||||||
use "tpope/vim-repeat" -- Better . repeat
|
use("tpope/vim-repeat") -- Better . repeat
|
||||||
use "tpope/vim-commentary" -- Commenting motion
|
use("tpope/vim-commentary") -- Commenting motion
|
||||||
use "tpope/vim-sleuth" -- Intendation heuristics
|
use("tpope/vim-sleuth") -- Intendation heuristics
|
||||||
|
|
||||||
-- General improvements
|
-- General improvements
|
||||||
use "lewis6991/gitsigns.nvim" -- Git signs
|
use("lewis6991/gitsigns.nvim") -- Git signs
|
||||||
use "godlygeek/tabular" -- Tabular command for alignment
|
use("godlygeek/tabular") -- Tabular command for alignment
|
||||||
use "vim-scripts/utl.vim" -- Universal text linking
|
use("vim-scripts/utl.vim") -- Universal text linking
|
||||||
use {"mbbill/undotree", cmd = "UndotreeToggle"} -- Undos in a tree for easy access
|
use({ "mbbill/undotree", cmd = "UndotreeToggle" }) -- Undos in a tree for easy access
|
||||||
use "mhinz/vim-grepper" -- Grepper command - improved grepping throughout project
|
use("mhinz/vim-grepper") -- Grepper command - improved grepping throughout project
|
||||||
use "radenling/vim-dispatch-neovim" -- vim-dispatch for neovim - uses terminal
|
use("radenling/vim-dispatch-neovim") -- vim-dispatch for neovim - uses terminal
|
||||||
use "wellle/targets.vim" -- Additional targets for inside and around motions
|
use("wellle/targets.vim") -- Additional targets for inside and around motions
|
||||||
use "flazz/vim-colorschemes" -- All popular colorschemes
|
use("flazz/vim-colorschemes") -- All popular colorschemes
|
||||||
use "romainl/vim-qf" -- Quickfix list upgrades
|
use("romainl/vim-qf") -- Quickfix list upgrades
|
||||||
use "romainl/vim-devdocs" -- Quick DevDocs.io search using :DD
|
use("romainl/vim-devdocs") -- Quick DevDocs.io search using :DD
|
||||||
use "gpanders/editorconfig.nvim" -- .editorconfig support
|
use("gpanders/editorconfig.nvim") -- .editorconfig support
|
||||||
use "lewis6991/impatient.nvim" -- Caching lua modules for faster startup
|
use("lewis6991/impatient.nvim") -- Caching lua modules for faster startup
|
||||||
|
|
||||||
-- Tools
|
-- Tools
|
||||||
use "direnv/direnv.vim" -- Integration with Direnv
|
use("direnv/direnv.vim") -- Integration with Direnv
|
||||||
use "vim-test/vim-test" -- Running tests from vim
|
use("vim-test/vim-test") -- Running tests from vim
|
||||||
use "mfussenegger/nvim-dap" -- Debug Adapter Protocol
|
use("mfussenegger/nvim-dap") -- Debug Adapter Protocol
|
||||||
use "rcarriga/nvim-dap-ui" -- UI components for DAP
|
use("rcarriga/nvim-dap-ui") -- UI components for DAP
|
||||||
use "theHamsta/nvim-dap-virtual-text" -- Virtual text display for DAP
|
use("theHamsta/nvim-dap-virtual-text") -- Virtual text display for DAP
|
||||||
use "diepm/vim-rest-console" -- REST console for vim
|
use("diepm/vim-rest-console") -- REST console for vim
|
||||||
use "jamestthompson3/nvim-remote-containers" -- devcontainer.json support
|
use("jamestthompson3/nvim-remote-containers") -- devcontainer.json support
|
||||||
use "jbyuki/one-small-step-for-vimkind" -- Debugger for Nvim-Lua
|
use("jbyuki/one-small-step-for-vimkind") -- Debugger for Nvim-Lua
|
||||||
|
|
||||||
-- Snippets
|
-- Snippets
|
||||||
use "L3MON4D3/LuaSnip" -- snippets support
|
use("L3MON4D3/LuaSnip") -- snippets support
|
||||||
use "rafamadriz/friendly-snippets" -- Collection of snippets
|
use("rafamadriz/friendly-snippets") -- Collection of snippets
|
||||||
use "saadparwaiz1/cmp_luasnip" -- cmp snippets support
|
use("saadparwaiz1/cmp_luasnip") -- cmp snippets support
|
||||||
|
|
||||||
-- Language support
|
-- Language support
|
||||||
use "tpope/vim-rails" -- Enables all rails command through vim and integrates with projectionist
|
use("tpope/vim-rails") -- Enables all rails command through vim and integrates with projectionist
|
||||||
use "c-brenn/phoenix.vim" -- Similar to vim-rails, but for phoenix
|
use("c-brenn/phoenix.vim") -- Similar to vim-rails, but for phoenix
|
||||||
use "tpope/vim-salve" -- Clojure integration with projectionist
|
use("tpope/vim-salve") -- Clojure integration with projectionist
|
||||||
use "tpope/vim-fireplace" -- Clojure REPL and integration
|
use("tpope/vim-fireplace") -- Clojure REPL and integration
|
||||||
use "vimwiki/vimwiki" -- Vimwiki - personal wiki in vim
|
use("vimwiki/vimwiki") -- Vimwiki - personal wiki in vim
|
||||||
use "esensar/vimwiki-reviews-lua" -- Vimwiki extension for periodic reviews
|
use("esensar/vimwiki-reviews-lua") -- Vimwiki extension for periodic reviews
|
||||||
use "ledger/vim-ledger" -- Support for ledger-cli format
|
use("ledger/vim-ledger") -- Support for ledger-cli format
|
||||||
use "tandrewnichols/vim-docile" -- Support for vim doc.txt format
|
use("tandrewnichols/vim-docile") -- Support for vim doc.txt format
|
||||||
use "habamax/vim-godot" -- Godot engine (and script) support
|
use("habamax/vim-godot") -- Godot engine (and script) support
|
||||||
use "guns/vim-sexp" -- Precision editing for S-expressions
|
use("guns/vim-sexp") -- Precision editing for S-expressions
|
||||||
use("tpope/vim-sexp-mappings-for-regular-people") -- Simpler keymaps for vim-sexp
|
use("tpope/vim-sexp-mappings-for-regular-people") -- Simpler keymaps for vim-sexp
|
||||||
use "tridactyl/vim-tridactyl" -- Tridactyl config file support
|
use("tridactyl/vim-tridactyl") -- Tridactyl config file support
|
||||||
use "aklt/plantuml-syntax" -- PlantUML support
|
use("aklt/plantuml-syntax") -- PlantUML support
|
||||||
use "cdelledonne/vim-cmake" -- CMake integration
|
use("cdelledonne/vim-cmake") -- CMake integration
|
||||||
|
|
||||||
-- Treesitter
|
-- Treesitter
|
||||||
use {"nvim-treesitter/nvim-treesitter", run = ":TSUpdate"} -- Treesitter integration
|
use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) -- Treesitter integration
|
||||||
use "nvim-treesitter/playground" -- TSPlaygroundToggle - access treesitter data
|
use("nvim-treesitter/playground") -- TSPlaygroundToggle - access treesitter data
|
||||||
|
|
||||||
-- LSP
|
-- LSP
|
||||||
use "neovim/nvim-lspconfig" -- Easy LSP Config
|
use("neovim/nvim-lspconfig") -- Easy LSP Config
|
||||||
use "alexaandru/nvim-lspupdate" -- Easy install and update for many LSP servers
|
use("alexaandru/nvim-lspupdate") -- Easy install and update for many LSP servers
|
||||||
use "hrsh7th/cmp-nvim-lsp" -- LSP source for cmp
|
use("hrsh7th/cmp-nvim-lsp") -- LSP source for cmp
|
||||||
use "hrsh7th/cmp-buffer" -- Buffer source for nvim-cmp
|
use("hrsh7th/cmp-buffer") -- Buffer source for nvim-cmp
|
||||||
use "hrsh7th/cmp-path" -- Path source for nvim-cmp
|
use("hrsh7th/cmp-path") -- Path source for nvim-cmp
|
||||||
use "hrsh7th/cmp-nvim-lua" -- Nvim-Lua source for nvim-cmp
|
use("hrsh7th/cmp-nvim-lua") -- Nvim-Lua source for nvim-cmp
|
||||||
use "hrsh7th/nvim-cmp" -- completion integration
|
use("hrsh7th/nvim-cmp") -- completion integration
|
||||||
use "nvim-lua/lsp_extensions.nvim" -- LSP extensions (like closing labels for Dart)
|
use("nvim-lua/lsp_extensions.nvim") -- LSP extensions (like closing labels for Dart)
|
||||||
use "jose-elias-alvarez/null-ls.nvim" -- Linting and formatting
|
use("jose-elias-alvarez/null-ls.nvim") -- Linting and formatting
|
||||||
|
|
||||||
-- LSP language specific
|
-- LSP language specific
|
||||||
use "tjdevries/nlua.nvim" -- Built-in Lua integration with LSP
|
use("tjdevries/nlua.nvim") -- Built-in Lua integration with LSP
|
||||||
use "akinsho/flutter-tools.nvim" -- Additional flutter integrations
|
use("akinsho/flutter-tools.nvim") -- Additional flutter integrations
|
||||||
use "mfussenegger/nvim-jdtls" -- Additional java integrations
|
use("mfussenegger/nvim-jdtls") -- Additional java integrations
|
||||||
|
|
||||||
-- Lua support
|
-- Lua support
|
||||||
use "nvim-lua/popup.nvim" -- Popup API integration - needed for some plugins
|
use("nvim-lua/popup.nvim") -- Popup API integration - needed for some plugins
|
||||||
use "nvim-lua/plenary.nvim" -- Lua helpers
|
use("nvim-lua/plenary.nvim") -- Lua helpers
|
||||||
|
|
||||||
-- Telescope
|
-- Telescope
|
||||||
use "nvim-telescope/telescope.nvim" -- Fuzzy searcher
|
use("nvim-telescope/telescope.nvim") -- Fuzzy searcher
|
||||||
use "nvim-telescope/telescope-dap.nvim" -- DAP integration for Telescope
|
use("nvim-telescope/telescope-dap.nvim") -- DAP integration for Telescope
|
||||||
end
|
end,
|
||||||
}
|
})
|
||||||
|
|
|
@ -4,12 +4,14 @@
|
||||||
-- Set completeopt to have a better completion experience
|
-- Set completeopt to have a better completion experience
|
||||||
vim.o.completeopt = "menu,menuone,noselect"
|
vim.o.completeopt = "menu,menuone,noselect"
|
||||||
|
|
||||||
local cmp = require "cmp"
|
local cmp = require("cmp")
|
||||||
local luasnip = require("luasnip")
|
local luasnip = require("luasnip")
|
||||||
|
|
||||||
cmp.setup {
|
cmp.setup({
|
||||||
snippet = {
|
snippet = {
|
||||||
expand = function(args) require'luasnip'.lsp_expand(args.body) end
|
expand = function(args)
|
||||||
|
require("luasnip").lsp_expand(args.body)
|
||||||
|
end,
|
||||||
},
|
},
|
||||||
mapping = {
|
mapping = {
|
||||||
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
||||||
|
@ -44,10 +46,13 @@ cmp.setup {
|
||||||
else
|
else
|
||||||
fallback()
|
fallback()
|
||||||
end
|
end
|
||||||
end, {"i", "s"})
|
end, { "i", "s" }),
|
||||||
},
|
},
|
||||||
sources = {
|
sources = {
|
||||||
{name = "nvim_lsp"}, {name = "nvim_lua"}, {name = "path"},
|
{ name = "nvim_lsp" },
|
||||||
{name = "luasnip"}, {name = "buffer"}
|
{ name = "nvim_lua" },
|
||||||
}
|
{ name = "path" },
|
||||||
}
|
{ name = "luasnip" },
|
||||||
|
{ name = "buffer" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
-- - LSP diagnostics config -
|
-- - LSP diagnostics config -
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
local null_ls = require('null-ls')
|
local null_ls = require("null-ls")
|
||||||
|
|
||||||
null_ls.setup({
|
null_ls.setup({
|
||||||
sources = {
|
sources = {
|
||||||
|
@ -22,7 +22,7 @@ null_ls.setup({
|
||||||
null_ls.builtins.formatting.cmake_format,
|
null_ls.builtins.formatting.cmake_format,
|
||||||
|
|
||||||
-- Lua
|
-- Lua
|
||||||
null_ls.builtins.formatting.lua_format,
|
null_ls.builtins.formatting.stylua,
|
||||||
|
|
||||||
-- Dart
|
-- Dart
|
||||||
null_ls.builtins.formatting.dart_format,
|
null_ls.builtins.formatting.dart_format,
|
||||||
|
@ -51,7 +51,7 @@ null_ls.setup({
|
||||||
augroup END
|
augroup END
|
||||||
]])
|
]])
|
||||||
end
|
end
|
||||||
end
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.keymap.set("n", "]w", vim.diagnostic.goto_next)
|
vim.keymap.set("n", "]w", vim.diagnostic.goto_next)
|
||||||
|
|
|
@ -6,15 +6,15 @@ local common_config = require("lsp.server_config")
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
function M.setup()
|
function M.setup()
|
||||||
require "jdtls".setup_dap()
|
require("jdtls").setup_dap()
|
||||||
require "jdtls.setup".add_commands()
|
require("jdtls.setup").add_commands()
|
||||||
local on_attach = function(client, bufnr)
|
local on_attach = function(client, bufnr)
|
||||||
vim.bo.omnifunc = "v:lua.vim.lsp.omnifunc"
|
vim.bo.omnifunc = "v:lua.vim.lsp.omnifunc"
|
||||||
|
|
||||||
common_config.on_attach(client, bufnr)
|
common_config.on_attach(client, bufnr)
|
||||||
|
|
||||||
local code_action_fun = function()
|
local code_action_fun = function()
|
||||||
require "jdtls".code_action()
|
require("jdtls").code_action()
|
||||||
end
|
end
|
||||||
vim.keymap.set("n", "<A-CR>", code_action_fun)
|
vim.keymap.set("n", "<A-CR>", code_action_fun)
|
||||||
vim.keymap.set("n", "<Leader>ac", code_action_fun)
|
vim.keymap.set("n", "<Leader>ac", code_action_fun)
|
||||||
|
@ -27,9 +27,9 @@ function M.setup()
|
||||||
local workspace_folder = home .. "/.workspace" .. vim.fn.fnamemodify(root_dir, ":p:h:t")
|
local workspace_folder = home .. "/.workspace" .. vim.fn.fnamemodify(root_dir, ":p:h:t")
|
||||||
local config = {
|
local config = {
|
||||||
flags = {
|
flags = {
|
||||||
allow_incremental_sync = true
|
allow_incremental_sync = true,
|
||||||
},
|
},
|
||||||
on_attach = on_attach
|
on_attach = on_attach,
|
||||||
}
|
}
|
||||||
config.settings = {
|
config.settings = {
|
||||||
java = {
|
java = {
|
||||||
|
@ -37,21 +37,21 @@ function M.setup()
|
||||||
sources = {
|
sources = {
|
||||||
organizeImports = {
|
organizeImports = {
|
||||||
starThreshold = 9999,
|
starThreshold = 9999,
|
||||||
staticStarThreshold = 9999
|
staticStarThreshold = 9999,
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
config.cmd = { "jdtls-start.sh", workspace_folder }
|
config.cmd = { "jdtls-start.sh", workspace_folder }
|
||||||
config.on_init = function(client, _)
|
config.on_init = function(client, _)
|
||||||
client.notify("workspace/didChangeConfiguration", { settings = config.settings })
|
client.notify("workspace/didChangeConfiguration", { settings = config.settings })
|
||||||
end
|
end
|
||||||
|
|
||||||
local extendedClientCapabilities = require "jdtls".extendedClientCapabilities
|
local extendedClientCapabilities = require("jdtls").extendedClientCapabilities
|
||||||
extendedClientCapabilities.resolveAdditionalTextEditsSupport = true
|
extendedClientCapabilities.resolveAdditionalTextEditsSupport = true
|
||||||
config.init_options = {
|
config.init_options = {
|
||||||
-- bundles = bundles;
|
-- bundles = bundles;
|
||||||
extendedClientCapabilities = extendedClientCapabilities
|
extendedClientCapabilities = extendedClientCapabilities,
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Server
|
-- Server
|
||||||
|
|
|
@ -9,60 +9,15 @@ M.on_attach = function(client, bufnr)
|
||||||
|
|
||||||
-- Lsp keymaps
|
-- Lsp keymaps
|
||||||
local opts = { buffer = bufnr }
|
local opts = { buffer = bufnr }
|
||||||
vim.keymap.set(
|
vim.keymap.set("n", "<C-]>", vim.lsp.buf.definition, opts)
|
||||||
"n",
|
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
|
||||||
"<C-]>",
|
vim.keymap.set("n", "gr", vim.lsp.buf.references, opts)
|
||||||
vim.lsp.buf.definition,
|
vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts)
|
||||||
opts
|
vim.keymap.set("n", "<Leader>rn", vim.lsp.buf.rename, opts)
|
||||||
)
|
vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, opts)
|
||||||
vim.keymap.set(
|
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
|
||||||
"n",
|
vim.keymap.set("n", "<A-CR>", vim.lsp.buf.code_action, opts)
|
||||||
"gD",
|
vim.keymap.set("n", "<Leader>ac", vim.lsp.buf.code_action, opts)
|
||||||
vim.lsp.buf.declaration,
|
|
||||||
opts
|
|
||||||
)
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"gr",
|
|
||||||
vim.lsp.buf.references,
|
|
||||||
opts
|
|
||||||
)
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"gi",
|
|
||||||
vim.lsp.buf.implementation,
|
|
||||||
opts
|
|
||||||
)
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"<Leader>rn",
|
|
||||||
vim.lsp.buf.rename,
|
|
||||||
opts
|
|
||||||
)
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"<C-k>",
|
|
||||||
vim.lsp.buf.signature_help,
|
|
||||||
opts
|
|
||||||
)
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"K",
|
|
||||||
vim.lsp.buf.hover,
|
|
||||||
opts
|
|
||||||
)
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"<A-CR>",
|
|
||||||
vim.lsp.buf.code_action,
|
|
||||||
opts
|
|
||||||
)
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"<Leader>ac",
|
|
||||||
vim.lsp.buf.code_action,
|
|
||||||
opts
|
|
||||||
)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
|
@ -29,52 +29,49 @@ local servers = {
|
||||||
"vimls",
|
"vimls",
|
||||||
}
|
}
|
||||||
for _, lsp in ipairs(servers) do
|
for _, lsp in ipairs(servers) do
|
||||||
lspconfig[lsp].setup {
|
lspconfig[lsp].setup({
|
||||||
on_attach = common_config.on_attach,
|
on_attach = common_config.on_attach,
|
||||||
capabilities = capabilities
|
capabilities = capabilities,
|
||||||
}
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
lspconfig["gdscript"].setup {
|
lspconfig["gdscript"].setup({
|
||||||
on_attach = common_config.on_attach,
|
on_attach = common_config.on_attach,
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
flags = {
|
flags = {
|
||||||
-- Slow Godot LS
|
-- Slow Godot LS
|
||||||
debounce_text_changes = 600
|
debounce_text_changes = 600,
|
||||||
}
|
},
|
||||||
}
|
})
|
||||||
|
|
||||||
-- Lua bultin lsp
|
-- Lua bultin lsp
|
||||||
require("nlua.lsp.nvim").setup(
|
require("nlua.lsp.nvim").setup(lspconfig, {
|
||||||
lspconfig,
|
|
||||||
{
|
|
||||||
on_attach = common_config.on_attach,
|
on_attach = common_config.on_attach,
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
-- Include globals you want to tell the LSP are real :)
|
-- Include globals you want to tell the LSP are real :)
|
||||||
globals = {}
|
globals = {},
|
||||||
}
|
})
|
||||||
)
|
|
||||||
|
|
||||||
-- Flutter tools
|
-- Flutter tools
|
||||||
require("flutter-tools").setup {
|
require("flutter-tools").setup({
|
||||||
lsp = {
|
lsp = {
|
||||||
on_attach = common_config.on_attach,
|
on_attach = common_config.on_attach,
|
||||||
capabilities = capabilities
|
capabilities = capabilities,
|
||||||
}
|
},
|
||||||
}
|
})
|
||||||
|
|
||||||
-- Dotnet LS
|
-- Dotnet LS
|
||||||
local pid = vim.fn.getpid()
|
local pid = vim.fn.getpid()
|
||||||
local omnisharp_bin = vim.fn.glob("$HOME") .. "/lsp/dotnet/omnisharp/run"
|
local omnisharp_bin = vim.fn.glob("$HOME") .. "/lsp/dotnet/omnisharp/run"
|
||||||
lspconfig.omnisharp.setup {
|
lspconfig.omnisharp.setup({
|
||||||
cmd = { omnisharp_bin, "--languageserver", "--hostPID", tostring(pid) },
|
cmd = { omnisharp_bin, "--languageserver", "--hostPID", tostring(pid) },
|
||||||
on_attach = common_config.on_attach,
|
on_attach = common_config.on_attach,
|
||||||
capabilities = capabilities
|
capabilities = capabilities,
|
||||||
}
|
})
|
||||||
|
|
||||||
-- Leminx (XML Language server)
|
-- Leminx (XML Language server)
|
||||||
lspconfig.lemminx.setup {
|
lspconfig.lemminx.setup({
|
||||||
cmd = { "lemminx" },
|
cmd = { "lemminx" },
|
||||||
on_attach = common_config.on_attach,
|
on_attach = common_config.on_attach,
|
||||||
capabilities = capabilities
|
capabilities = capabilities,
|
||||||
}
|
})
|
||||||
|
|
|
@ -18,7 +18,7 @@ end
|
||||||
local function open_rest_console(file)
|
local function open_rest_console(file)
|
||||||
new_tab_if_needed()
|
new_tab_if_needed()
|
||||||
local ending = ".rest"
|
local ending = ".rest"
|
||||||
if file:sub(-(#ending)) ~= ending then
|
if file:sub(-#ending) ~= ending then
|
||||||
file = file .. ".rest"
|
file = file .. ".rest"
|
||||||
end
|
end
|
||||||
vim.cmd("e " .. file)
|
vim.cmd("e " .. file)
|
||||||
|
@ -44,22 +44,22 @@ end
|
||||||
-- Opens up a rest console which can be saved -- cached by name
|
-- Opens up a rest console which can be saved -- cached by name
|
||||||
function M.open_cached_rest_console(...)
|
function M.open_cached_rest_console(...)
|
||||||
local name = select(1, ...)
|
local name = select(1, ...)
|
||||||
if (select("#", ...) == 0) then
|
if select("#", ...) == 0 then
|
||||||
name = require "common.projects".get_project_id()
|
name = require("common.projects").get_project_id()
|
||||||
end
|
end
|
||||||
open_cached_rest_console(name)
|
open_cached_rest_console(name)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Opens up a rest console which can be saved -- cached by name
|
-- Opens up a rest console which can be saved -- cached by name
|
||||||
function M.open_named_cached_rest_console(name)
|
function M.open_named_cached_rest_console(name)
|
||||||
name = require "common.projects".get_project_id() .. name
|
name = require("common.projects").get_project_id() .. name
|
||||||
open_cached_rest_console(name)
|
open_cached_rest_console(name)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Opens up a rest console based on local file path
|
-- Opens up a rest console based on local file path
|
||||||
function M.open_local_rest_console(...)
|
function M.open_local_rest_console(...)
|
||||||
local file = select(1, ...)
|
local file = select(1, ...)
|
||||||
if (select("#", ...) == 0) then
|
if select("#", ...) == 0 then
|
||||||
file = "default"
|
file = "default"
|
||||||
end
|
end
|
||||||
open_rest_console(file)
|
open_rest_console(file)
|
||||||
|
|
|
@ -22,16 +22,12 @@ function M.get_directory_index(vimwiki_index, directory)
|
||||||
local dir = M.get_vimwiki_subdir(vimwiki_index, directory)
|
local dir = M.get_vimwiki_subdir(vimwiki_index, directory)
|
||||||
local path = Path:new(dir):expand()
|
local path = Path:new(dir):expand()
|
||||||
|
|
||||||
local entries =
|
local entries = scandir.scan_dir(path, {
|
||||||
scandir.scan_dir(
|
|
||||||
path,
|
|
||||||
{
|
|
||||||
hidden = false,
|
hidden = false,
|
||||||
add_dirs = false,
|
add_dirs = false,
|
||||||
respect_gitignore = true,
|
respect_gitignore = true,
|
||||||
depth = 1
|
depth = 1,
|
||||||
}
|
})
|
||||||
)
|
|
||||||
|
|
||||||
local index = {}
|
local index = {}
|
||||||
|
|
||||||
|
@ -60,12 +56,12 @@ function M.open_subdirectory_index_file(vimwiki_index, subdirectory)
|
||||||
|
|
||||||
local lines = {
|
local lines = {
|
||||||
builder.header(1, subdirectory:sub(1, 1):upper() .. subdirectory:sub(2)),
|
builder.header(1, subdirectory:sub(1, 1):upper() .. subdirectory:sub(2)),
|
||||||
""
|
"",
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Add items
|
-- Add items
|
||||||
for title, fname in pairs(index) do
|
for title, fname in pairs(index) do
|
||||||
if (title ~= "index") then
|
if title ~= "index" then
|
||||||
title = string.gsub(title, "-", " ")
|
title = string.gsub(title, "-", " ")
|
||||||
title = title:sub(1, 1):upper() .. title:sub(2)
|
title = title:sub(1, 1):upper() .. title:sub(2)
|
||||||
table.insert(lines, builder.list_item(builder.link(fname, title)))
|
table.insert(lines, builder.list_item(builder.link(fname, title)))
|
||||||
|
|
|
@ -4,40 +4,21 @@
|
||||||
|
|
||||||
local dap = require("dap")
|
local dap = require("dap")
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd(
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
"FileType",
|
|
||||||
{
|
|
||||||
pattern = "dap-repl",
|
pattern = "dap-repl",
|
||||||
callback = function(args)
|
callback = function(args)
|
||||||
require("dap.ext.autocompl").attach()
|
require("dap.ext.autocompl").attach()
|
||||||
end
|
end,
|
||||||
}
|
})
|
||||||
)
|
|
||||||
|
|
||||||
-- Nvim DAP Treesitter integration
|
-- Nvim DAP Treesitter integration
|
||||||
require("nvim-dap-virtual-text").setup()
|
require("nvim-dap-virtual-text").setup()
|
||||||
|
|
||||||
-- Keymaps
|
-- Keymaps
|
||||||
vim.keymap.set(
|
vim.keymap.set("n", "<leader>db", dap.toggle_breakpoint)
|
||||||
"n",
|
vim.keymap.set("n", "<leader>dc", dap.continue)
|
||||||
"<leader>db",
|
vim.keymap.set("n", "<leader>dso", dap.step_over)
|
||||||
dap.toggle_breakpoint
|
vim.keymap.set("n", "<leader>dsi", dap.step_into)
|
||||||
)
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"<leader>dc",
|
|
||||||
dap.continue
|
|
||||||
)
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"<leader>dso",
|
|
||||||
dap.step_over
|
|
||||||
)
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"<leader>dsi",
|
|
||||||
dap.step_into
|
|
||||||
)
|
|
||||||
|
|
||||||
-- Nvim DAP UI
|
-- Nvim DAP UI
|
||||||
local dapui = require("dapui")
|
local dapui = require("dapui")
|
||||||
|
@ -56,13 +37,9 @@ dap.listeners.after["event_initialized"]["me"] = function()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
vim.keymap.set(
|
vim.keymap.set({ "n", "v" }, "K", function()
|
||||||
{"n", "v"},
|
|
||||||
"K",
|
|
||||||
function()
|
|
||||||
dapui.eval()
|
dapui.eval()
|
||||||
end
|
end)
|
||||||
)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
dap.listeners.after["event_terminated"]["me"] = function()
|
dap.listeners.after["event_terminated"]["me"] = function()
|
||||||
|
@ -76,7 +53,7 @@ end
|
||||||
dap.adapters.lldb = {
|
dap.adapters.lldb = {
|
||||||
type = "executable",
|
type = "executable",
|
||||||
command = "lldb-vscode",
|
command = "lldb-vscode",
|
||||||
name = "lldb"
|
name = "lldb",
|
||||||
}
|
}
|
||||||
|
|
||||||
dap.configurations.cpp = {
|
dap.configurations.cpp = {
|
||||||
|
@ -108,7 +85,7 @@ dap.configurations.cpp = {
|
||||||
-- lldb-vscode will receive a `SIGWINCH` signal which can cause problems
|
-- lldb-vscode will receive a `SIGWINCH` signal which can cause problems
|
||||||
-- To avoid that uncomment the following option
|
-- To avoid that uncomment the following option
|
||||||
-- See https://github.com/mfussenegger/nvim-dap/issues/236#issuecomment-1066306073
|
-- See https://github.com/mfussenegger/nvim-dap/issues/236#issuecomment-1066306073
|
||||||
postRunCommands = {"process handle -p true -s false -n false SIGWINCH"}
|
postRunCommands = { "process handle -p true -s false -n false SIGWINCH" },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name = "Launch with args",
|
name = "Launch with args",
|
||||||
|
@ -123,14 +100,14 @@ dap.configurations.cpp = {
|
||||||
return vim.split(vim.fn.input("Args: "), " ")
|
return vim.split(vim.fn.input("Args: "), " ")
|
||||||
end,
|
end,
|
||||||
runInTerminal = false,
|
runInTerminal = false,
|
||||||
postRunCommands = {"process handle -p true -s false -n false SIGWINCH"}
|
postRunCommands = { "process handle -p true -s false -n false SIGWINCH" },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name = "Attach to process",
|
name = "Attach to process",
|
||||||
type = "lldb",
|
type = "lldb",
|
||||||
request = "attach",
|
request = "attach",
|
||||||
pid = require("dap.utils").pick_process,
|
pid = require("dap.utils").pick_process,
|
||||||
args = {}
|
args = {},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name = "Attach to PID",
|
name = "Attach to PID",
|
||||||
|
@ -139,8 +116,8 @@ dap.configurations.cpp = {
|
||||||
pid = function()
|
pid = function()
|
||||||
return tonumber(vim.fn.input("PID: "))
|
return tonumber(vim.fn.input("PID: "))
|
||||||
end,
|
end,
|
||||||
args = {}
|
args = {},
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
dap.configurations.c = dap.configurations.cpp
|
dap.configurations.c = dap.configurations.cpp
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
-- - Fugitive.vim setup and extra commands -
|
-- - Fugitive.vim setup and extra commands -
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
vim.cmd [[command! -nargs=0 Ggpush :lua require('fugitive_extensions').push_origin()]]
|
vim.cmd([[command! -nargs=0 Ggpush :lua require('fugitive_extensions').push_origin()]])
|
||||||
vim.cmd [[command! -nargs=0 Ggpull :lua require('fugitive_extensions').pull_origin()]]
|
vim.cmd([[command! -nargs=0 Ggpull :lua require('fugitive_extensions').pull_origin()]])
|
||||||
vim.cmd [[command! -nargs=? Gpropen :lua require('fugitive_extensions').open_new_pr(<f-args>)]]
|
vim.cmd([[command! -nargs=? Gpropen :lua require('fugitive_extensions').open_new_pr(<f-args>)]])
|
||||||
vim.cmd [[command! -nargs=? Gpr Gpropen <args>]]
|
vim.cmd([[command! -nargs=? Gpr Gpropen <args>]])
|
||||||
vim.cmd [[command! -nargs=? Gprprint :lua require('fugitive_extensions').print_pr_url(<f-args>)]]
|
vim.cmd([[command! -nargs=? Gprprint :lua require('fugitive_extensions').print_pr_url(<f-args>)]])
|
||||||
vim.cmd [[command! -nargs=? Gprcopy :lua require('fugitive_extensions').copy_pr_url(<f-args>)]]
|
vim.cmd([[command! -nargs=? Gprcopy :lua require('fugitive_extensions').copy_pr_url(<f-args>)]])
|
||||||
vim.cmd [[command! -nargs=1 Gcbranch :lua require('fugitive_extensions').create_branch(<f-args>)]]
|
vim.cmd([[command! -nargs=1 Gcbranch :lua require('fugitive_extensions').create_branch(<f-args>)]])
|
||||||
vim.cmd [[command! -nargs=0 Gcmaster :lua require('fugitive_extensions').checkout_branch('main')]]
|
vim.cmd([[command! -nargs=0 Gcmaster :lua require('fugitive_extensions').checkout_branch('main')]])
|
||||||
vim.cmd [[command! -nargs=0 Gcm Gcmaster]]
|
vim.cmd([[command! -nargs=0 Gcm Gcmaster]])
|
||||||
vim.cmd [[command! -nargs=0 Gcdev :lua require('fugitive_extensions').checkout_branch('develop')]]
|
vim.cmd([[command! -nargs=0 Gcdev :lua require('fugitive_extensions').checkout_branch('develop')]])
|
||||||
vim.cmd [[command! -nargs=1 Gcheckout :lua require('fugitive_extensions').checkout_branch(<f-args>)]]
|
vim.cmd([[command! -nargs=1 Gcheckout :lua require('fugitive_extensions').checkout_branch(<f-args>)]])
|
||||||
vim.cmd [[command! -nargs=1 Gc Gcheckout <args>]]
|
vim.cmd([[command! -nargs=1 Gc Gcheckout <args>]])
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
require('gitsigns').setup {
|
require("gitsigns").setup({
|
||||||
on_attach = function(bufnr)
|
on_attach = function(bufnr)
|
||||||
local gs = package.loaded.gitsigns
|
local gs = package.loaded.gitsigns
|
||||||
|
|
||||||
|
@ -9,32 +9,44 @@ require('gitsigns').setup {
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Navigation
|
-- Navigation
|
||||||
map('n', ']c', function()
|
map("n", "]c", function()
|
||||||
if vim.wo.diff then return ']c' end
|
if vim.wo.diff then
|
||||||
vim.schedule(function() gs.next_hunk() end)
|
return "]c"
|
||||||
return '<Ignore>'
|
end
|
||||||
|
vim.schedule(function()
|
||||||
|
gs.next_hunk()
|
||||||
|
end)
|
||||||
|
return "<Ignore>"
|
||||||
end, { expr = true })
|
end, { expr = true })
|
||||||
|
|
||||||
map('n', '[c', function()
|
map("n", "[c", function()
|
||||||
if vim.wo.diff then return '[c' end
|
if vim.wo.diff then
|
||||||
vim.schedule(function() gs.prev_hunk() end)
|
return "[c"
|
||||||
return '<Ignore>'
|
end
|
||||||
|
vim.schedule(function()
|
||||||
|
gs.prev_hunk()
|
||||||
|
end)
|
||||||
|
return "<Ignore>"
|
||||||
end, { expr = true })
|
end, { expr = true })
|
||||||
|
|
||||||
-- Actions
|
-- Actions
|
||||||
map({'n', 'v'}, '<leader>hs', ':Gitsigns stage_hunk<CR>')
|
map({ "n", "v" }, "<leader>hs", ":Gitsigns stage_hunk<CR>")
|
||||||
map({'n', 'v'}, '<leader>hr', ':Gitsigns reset_hunk<CR>')
|
map({ "n", "v" }, "<leader>hr", ":Gitsigns reset_hunk<CR>")
|
||||||
map('n', '<leader>hS', gs.stage_buffer)
|
map("n", "<leader>hS", gs.stage_buffer)
|
||||||
map('n', '<leader>hu', gs.undo_stage_hunk)
|
map("n", "<leader>hu", gs.undo_stage_hunk)
|
||||||
map('n', '<leader>hR', gs.reset_buffer)
|
map("n", "<leader>hR", gs.reset_buffer)
|
||||||
map('n', '<leader>hp', gs.preview_hunk)
|
map("n", "<leader>hp", gs.preview_hunk)
|
||||||
map('n', '<leader>hb', function() gs.blame_line{full=true} end)
|
map("n", "<leader>hb", function()
|
||||||
map('n', '<leader>tb', gs.toggle_current_line_blame)
|
gs.blame_line({ full = true })
|
||||||
map('n', '<leader>hd', gs.diffthis)
|
end)
|
||||||
map('n', '<leader>hD', function() gs.diffthis('~') end)
|
map("n", "<leader>tb", gs.toggle_current_line_blame)
|
||||||
map('n', '<leader>td', gs.toggle_deleted)
|
map("n", "<leader>hd", gs.diffthis)
|
||||||
|
map("n", "<leader>hD", function()
|
||||||
|
gs.diffthis("~")
|
||||||
|
end)
|
||||||
|
map("n", "<leader>td", gs.toggle_deleted)
|
||||||
|
|
||||||
-- Text object
|
-- Text object
|
||||||
map({'o', 'x'}, 'ih', ':<C-U>Gitsigns select_hunk<CR>')
|
map({ "o", "x" }, "ih", ":<C-U>Gitsigns select_hunk<CR>")
|
||||||
end
|
end,
|
||||||
}
|
})
|
||||||
|
|
|
@ -2,4 +2,6 @@
|
||||||
-- - Local vimrc commands -
|
-- - Local vimrc commands -
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
vim.api.nvim_create_user_command("EditLocalVimrc", function(_) require"direnv_vimrc_local".open_local_vimrc() end, { nargs = 0 })
|
vim.api.nvim_create_user_command("EditLocalVimrc", function(_)
|
||||||
|
require("direnv_vimrc_local").open_local_vimrc()
|
||||||
|
end, { nargs = 0 })
|
||||||
|
|
|
@ -13,7 +13,7 @@ local vim_readme_template = {
|
||||||
"",
|
"",
|
||||||
"## License",
|
"## License",
|
||||||
"",
|
"",
|
||||||
"[LICENSE NAME](LICENSE)"
|
"[LICENSE NAME](LICENSE)",
|
||||||
}
|
}
|
||||||
|
|
||||||
local vim_doc_template = {
|
local vim_doc_template = {
|
||||||
|
@ -97,16 +97,16 @@ local vim_doc_template = {
|
||||||
"",
|
"",
|
||||||
"LICENSE *{}-license*",
|
"LICENSE *{}-license*",
|
||||||
"",
|
"",
|
||||||
"vim:tw=78:ts=2:ft=help:norl:"
|
"vim:tw=78:ts=2:ft=help:norl:",
|
||||||
}
|
}
|
||||||
|
|
||||||
local flutter_config = {
|
local flutter_config = {
|
||||||
["*"] = {
|
["*"] = {
|
||||||
start = "flutter run"
|
start = "flutter run",
|
||||||
},
|
},
|
||||||
["lib/*.dart"] = {
|
["lib/*.dart"] = {
|
||||||
alternate = "test/{}_test.dart",
|
alternate = "test/{}_test.dart",
|
||||||
type = "source"
|
type = "source",
|
||||||
},
|
},
|
||||||
["test/*_test.dart"] = {
|
["test/*_test.dart"] = {
|
||||||
alternate = "lib/{}.dart",
|
alternate = "lib/{}.dart",
|
||||||
|
@ -119,15 +119,15 @@ local flutter_config = {
|
||||||
"void main() {",
|
"void main() {",
|
||||||
" testWidgets('', (WidgetTester tester) async {",
|
" testWidgets('', (WidgetTester tester) async {",
|
||||||
" });",
|
" });",
|
||||||
"}"
|
"}",
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local python_config = {
|
local python_config = {
|
||||||
["*.py"] = {
|
["*.py"] = {
|
||||||
alternate = "tests/{dirname}/test_{basename}.py",
|
alternate = "tests/{dirname}/test_{basename}.py",
|
||||||
type = "source"
|
type = "source",
|
||||||
},
|
},
|
||||||
["tests/**/test_*.py"] = {
|
["tests/**/test_*.py"] = {
|
||||||
alternate = "{dirname}/{basename}.py",
|
alternate = "{dirname}/{basename}.py",
|
||||||
|
@ -141,9 +141,9 @@ local python_config = {
|
||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
'if __name__ == "__main__":',
|
'if __name__ == "__main__":',
|
||||||
" unittest.main()"
|
" unittest.main()",
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local dotnet_solution_config = {
|
local dotnet_solution_config = {
|
||||||
|
@ -151,30 +151,30 @@ local dotnet_solution_config = {
|
||||||
type = "controller",
|
type = "controller",
|
||||||
alternate = {
|
alternate = {
|
||||||
"tests/{dirname}.Tests/Controllers/{basename}Tests.cs",
|
"tests/{dirname}.Tests/Controllers/{basename}Tests.cs",
|
||||||
"tests/{dirname}.IntegrationTests/Controllers/{basename}Tests.cs"
|
"tests/{dirname}.IntegrationTests/Controllers/{basename}Tests.cs",
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
["src/**/Models/*.cs"] = {
|
["src/**/Models/*.cs"] = {
|
||||||
type = "model",
|
type = "model",
|
||||||
alternate = "tests/{dirname}.Tests/Models/{basename}Tests.cs"
|
alternate = "tests/{dirname}.Tests/Models/{basename}Tests.cs",
|
||||||
},
|
},
|
||||||
["src/**/Views/*.cshtml"] = {
|
["src/**/Views/*.cshtml"] = {
|
||||||
type = "view",
|
type = "view",
|
||||||
alternate = "tests/{dirname}.Tests/Views/{basename}Tests.cs"
|
alternate = "tests/{dirname}.Tests/Views/{basename}Tests.cs",
|
||||||
},
|
},
|
||||||
["src/**/Services/*.cs"] = {
|
["src/**/Services/*.cs"] = {
|
||||||
type = "service",
|
type = "service",
|
||||||
alternate = "tests/{dirname}.Tests/Services/{basename}Tests.cs"
|
alternate = "tests/{dirname}.Tests/Services/{basename}Tests.cs",
|
||||||
},
|
},
|
||||||
["src/**/Extensions/*.cs"] = {
|
["src/**/Extensions/*.cs"] = {
|
||||||
type = "extension",
|
type = "extension",
|
||||||
alternate = "tests/{dirname}.Tests/Extensions/{basename}Tests.cs"
|
alternate = "tests/{dirname}.Tests/Extensions/{basename}Tests.cs",
|
||||||
},
|
},
|
||||||
["*.csproj"] = {
|
["*.csproj"] = {
|
||||||
type = "project"
|
type = "project",
|
||||||
},
|
},
|
||||||
["src/**/appsettings*json"] = {
|
["src/**/appsettings*json"] = {
|
||||||
type = "appsettings"
|
type = "appsettings",
|
||||||
},
|
},
|
||||||
["src/*.cs"] = {
|
["src/*.cs"] = {
|
||||||
type = "source",
|
type = "source",
|
||||||
|
@ -187,32 +187,32 @@ local dotnet_solution_config = {
|
||||||
" public class {basename}",
|
" public class {basename}",
|
||||||
" {",
|
" {",
|
||||||
" }",
|
" }",
|
||||||
"}"
|
"}",
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
["tests/**.IntegrationTests/Controllers/*Tests.cs"] = {
|
["tests/**.IntegrationTests/Controllers/*Tests.cs"] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
alternate = "src/{dirname}/Controllers/{basename}.cs"
|
alternate = "src/{dirname}/Controllers/{basename}.cs",
|
||||||
},
|
},
|
||||||
["tests/**.Tests/Controllers/*Tests.cs"] = {
|
["tests/**.Tests/Controllers/*Tests.cs"] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
alternate = "src/{dirname}/Controllers/{basename}.cs"
|
alternate = "src/{dirname}/Controllers/{basename}.cs",
|
||||||
},
|
},
|
||||||
["tests/**.Tests/Views/*Tests.cs"] = {
|
["tests/**.Tests/Views/*Tests.cs"] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
alternate = "src/{dirname}/Views/{basename}.cs"
|
alternate = "src/{dirname}/Views/{basename}.cs",
|
||||||
},
|
},
|
||||||
["tests/**.Tests/Models/*Tests.cs"] = {
|
["tests/**.Tests/Models/*Tests.cs"] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
alternate = "src/{dirname}/Models/{basename}.cs"
|
alternate = "src/{dirname}/Models/{basename}.cs",
|
||||||
},
|
},
|
||||||
["tests/**.Tests/Services/*Tests.cs"] = {
|
["tests/**.Tests/Services/*Tests.cs"] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
alternate = "src/{dirname}/Services/{basename}.cs"
|
alternate = "src/{dirname}/Services/{basename}.cs",
|
||||||
},
|
},
|
||||||
["tests/**.Tests/Extensions/*Tests.cs"] = {
|
["tests/**.Tests/Extensions/*Tests.cs"] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
alternate = "src/{dirname}/Extensions/{basename}.cs"
|
alternate = "src/{dirname}/Extensions/{basename}.cs",
|
||||||
},
|
},
|
||||||
["tests/*Tests.cs"] = {
|
["tests/*Tests.cs"] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
|
@ -225,68 +225,68 @@ local dotnet_solution_config = {
|
||||||
" public class {basename}Tests",
|
" public class {basename}Tests",
|
||||||
" {",
|
" {",
|
||||||
" }",
|
" }",
|
||||||
"}"
|
"}",
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local vim_plugin_config = {
|
local vim_plugin_config = {
|
||||||
["doc/*.txt"] = {
|
["doc/*.txt"] = {
|
||||||
type = "help",
|
type = "help",
|
||||||
template = vim_doc_template
|
template = vim_doc_template,
|
||||||
},
|
},
|
||||||
["autoload/*.vim"] = {
|
["autoload/*.vim"] = {
|
||||||
type = "autoload",
|
type = "autoload",
|
||||||
alternate = "test/{}.vader"
|
alternate = "test/{}.vader",
|
||||||
},
|
},
|
||||||
["test/*.vader"] = {
|
["test/*.vader"] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
altername = "autoload/{}.vim"
|
altername = "autoload/{}.vim",
|
||||||
},
|
},
|
||||||
["plugin/*.vim"] = {
|
["plugin/*.vim"] = {
|
||||||
type = "plugin",
|
type = "plugin",
|
||||||
template = {
|
template = {
|
||||||
'if exists("g:loaded_{}") || &cp | finish | endif',
|
'if exists("g:loaded_{}") || &cp | finish | endif',
|
||||||
"",
|
"",
|
||||||
"let g:loaded_{} = 1"
|
"let g:loaded_{} = 1",
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
["README.md"] = {
|
["README.md"] = {
|
||||||
template = vim_readme_template
|
template = vim_readme_template,
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local lua_vim_plugin_config = {
|
local lua_vim_plugin_config = {
|
||||||
["doc/*.txt"] = {
|
["doc/*.txt"] = {
|
||||||
type = "help",
|
type = "help",
|
||||||
template = vim_doc_template
|
template = vim_doc_template,
|
||||||
},
|
},
|
||||||
["plugin/*.vim"] = {
|
["plugin/*.vim"] = {
|
||||||
type = "plugin",
|
type = "plugin",
|
||||||
template = {
|
template = {
|
||||||
'if exists("g:loaded_{}") || &cp | finish | endif',
|
'if exists("g:loaded_{}") || &cp | finish | endif',
|
||||||
"",
|
"",
|
||||||
"let g:loaded_{} = 1"
|
"let g:loaded_{} = 1",
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
["lua/*.lua"] = {
|
["lua/*.lua"] = {
|
||||||
type = "source",
|
type = "source",
|
||||||
alternate = "test/{}.lua"
|
alternate = "test/{}.lua",
|
||||||
},
|
},
|
||||||
["test/*.lua"] = {
|
["test/*.lua"] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
alternate = "lua/{}.lua"
|
alternate = "lua/{}.lua",
|
||||||
},
|
},
|
||||||
["README.md"] = {
|
["README.md"] = {
|
||||||
template = vim_readme_template
|
template = vim_readme_template,
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local csharp_project_config = {
|
local csharp_project_config = {
|
||||||
["*"] = {
|
["*"] = {
|
||||||
start = "dotnet run",
|
start = "dotnet run",
|
||||||
console = "dotnet fsi"
|
console = "dotnet fsi",
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local java_project_config = {
|
local java_project_config = {
|
||||||
|
@ -296,9 +296,9 @@ local java_project_config = {
|
||||||
"package {dirname|dot};",
|
"package {dirname|dot};",
|
||||||
"",
|
"",
|
||||||
"public class {basename} {open}",
|
"public class {basename} {open}",
|
||||||
"{close}"
|
"{close}",
|
||||||
},
|
},
|
||||||
alternate = "src/test/java/{}Test.java"
|
alternate = "src/test/java/{}Test.java",
|
||||||
},
|
},
|
||||||
["src/test/java/*Test.java"] = {
|
["src/test/java/*Test.java"] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
|
@ -306,22 +306,22 @@ local java_project_config = {
|
||||||
"package {dirname|dot};",
|
"package {dirname|dot};",
|
||||||
"",
|
"",
|
||||||
"public class {basename}Test {open}",
|
"public class {basename}Test {open}",
|
||||||
"{close}"
|
"{close}",
|
||||||
},
|
},
|
||||||
alternate = "src/main/java/{}.java"
|
alternate = "src/main/java/{}.java",
|
||||||
},
|
},
|
||||||
["src/main/java/module-info.java"] = {
|
["src/main/java/module-info.java"] = {
|
||||||
type = "moduleinfo"
|
type = "moduleinfo",
|
||||||
},
|
},
|
||||||
["src/main/java/**/package-info.java"] = {
|
["src/main/java/**/package-info.java"] = {
|
||||||
type = "packageinfo"
|
type = "packageinfo",
|
||||||
},
|
},
|
||||||
["src/main/resources/*"] = {
|
["src/main/resources/*"] = {
|
||||||
type = "resource"
|
type = "resource",
|
||||||
},
|
},
|
||||||
["src/test/resources/*"] = {
|
["src/test/resources/*"] = {
|
||||||
type = "testresource"
|
type = "testresource",
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local kotlin_project_config = {
|
local kotlin_project_config = {
|
||||||
|
@ -331,9 +331,9 @@ local kotlin_project_config = {
|
||||||
"package {dirname|dot}",
|
"package {dirname|dot}",
|
||||||
"",
|
"",
|
||||||
"class {basename} {open}",
|
"class {basename} {open}",
|
||||||
"{close}"
|
"{close}",
|
||||||
},
|
},
|
||||||
alternate = "src/test/kotlin/{}Test.kt"
|
alternate = "src/test/kotlin/{}Test.kt",
|
||||||
},
|
},
|
||||||
["src/main/java/*.kt"] = {
|
["src/main/java/*.kt"] = {
|
||||||
type = "source",
|
type = "source",
|
||||||
|
@ -341,9 +341,9 @@ local kotlin_project_config = {
|
||||||
"package {dirname|dot}",
|
"package {dirname|dot}",
|
||||||
"",
|
"",
|
||||||
"class {basename} {open}",
|
"class {basename} {open}",
|
||||||
"{close}"
|
"{close}",
|
||||||
},
|
},
|
||||||
alternate = "src/test/java/{}Test.kt"
|
alternate = "src/test/java/{}Test.kt",
|
||||||
},
|
},
|
||||||
["src/test/kotlin/*Test.kt"] = {
|
["src/test/kotlin/*Test.kt"] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
|
@ -351,9 +351,9 @@ local kotlin_project_config = {
|
||||||
"package {dirname|dot}",
|
"package {dirname|dot}",
|
||||||
"",
|
"",
|
||||||
"class {basename}Test {open}",
|
"class {basename}Test {open}",
|
||||||
"{close}"
|
"{close}",
|
||||||
},
|
},
|
||||||
alternate = "src/main/kotlin/{}.kt"
|
alternate = "src/main/kotlin/{}.kt",
|
||||||
},
|
},
|
||||||
["src/test/java/*Test.kt"] = {
|
["src/test/java/*Test.kt"] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
|
@ -361,21 +361,21 @@ local kotlin_project_config = {
|
||||||
"package {dirname|dot}",
|
"package {dirname|dot}",
|
||||||
"",
|
"",
|
||||||
"class {basename}Test {open}",
|
"class {basename}Test {open}",
|
||||||
"{close}"
|
"{close}",
|
||||||
},
|
},
|
||||||
alternate = "src/main/java/{}.kt"
|
alternate = "src/main/java/{}.kt",
|
||||||
},
|
},
|
||||||
["src/main/resources/*"] = {
|
["src/main/resources/*"] = {
|
||||||
type = "resource"
|
type = "resource",
|
||||||
},
|
},
|
||||||
["src/test/resources/*"] = {
|
["src/test/resources/*"] = {
|
||||||
type = "testresource"
|
type = "testresource",
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local mint_config = {
|
local mint_config = {
|
||||||
["*"] = {
|
["*"] = {
|
||||||
start = "mint start"
|
start = "mint start",
|
||||||
},
|
},
|
||||||
["source/*.mint"] = {
|
["source/*.mint"] = {
|
||||||
type = "source",
|
type = "source",
|
||||||
|
@ -386,9 +386,9 @@ local mint_config = {
|
||||||
"",
|
"",
|
||||||
" fun render : Html {open}",
|
" fun render : Html {open}",
|
||||||
" {close}",
|
" {close}",
|
||||||
"{close}"
|
"{close}",
|
||||||
},
|
},
|
||||||
alternate = "tests/{}.mint"
|
alternate = "tests/{}.mint",
|
||||||
},
|
},
|
||||||
["tests/*.mint"] = {
|
["tests/*.mint"] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
|
@ -398,23 +398,23 @@ local mint_config = {
|
||||||
" with Test.Html {open}",
|
" with Test.Html {open}",
|
||||||
" {close}",
|
" {close}",
|
||||||
" {close}",
|
" {close}",
|
||||||
"{close}"
|
"{close}",
|
||||||
|
},
|
||||||
|
alternate = "source/{}.mint",
|
||||||
},
|
},
|
||||||
alternate = "source/{}.mint"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
local crystal_config = {
|
local crystal_config = {
|
||||||
["*"] = {
|
["*"] = {
|
||||||
start = "crystal run"
|
start = "crystal run",
|
||||||
},
|
},
|
||||||
["src/*.cr"] = {
|
["src/*.cr"] = {
|
||||||
type = "source",
|
type = "source",
|
||||||
template = {
|
template = {
|
||||||
"module {capitalize|colons}",
|
"module {capitalize|colons}",
|
||||||
"end"
|
"end",
|
||||||
},
|
},
|
||||||
alternate = "spec/{}_spec.cr"
|
alternate = "spec/{}_spec.cr",
|
||||||
},
|
},
|
||||||
["spec/*_spec.cr"] = {
|
["spec/*_spec.cr"] = {
|
||||||
type = "spec",
|
type = "spec",
|
||||||
|
@ -425,43 +425,43 @@ local crystal_config = {
|
||||||
' it "works" do',
|
' it "works" do',
|
||||||
" false.should eq(true)",
|
" false.should eq(true)",
|
||||||
" end",
|
" end",
|
||||||
"end"
|
"end",
|
||||||
|
},
|
||||||
|
alternate = "src/{}.cr",
|
||||||
},
|
},
|
||||||
alternate = "src/{}.cr"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
local function c_project_config(source_extension, header_extension)
|
local function c_project_config(source_extension, header_extension)
|
||||||
return {
|
return {
|
||||||
["*"] = {
|
["*"] = {
|
||||||
start = "make run"
|
start = "make run",
|
||||||
},
|
},
|
||||||
["src/*." .. source_extension] = {
|
["src/*." .. source_extension] = {
|
||||||
type = "source",
|
type = "source",
|
||||||
alternate = {
|
alternate = {
|
||||||
"src/{}." .. header_extension,
|
"src/{}." .. header_extension,
|
||||||
"test/{}." .. source_extension,
|
"test/{}." .. source_extension,
|
||||||
"include/{project|basename}/{}." .. header_extension
|
"include/{project|basename}/{}." .. header_extension,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
["test/*." .. source_extension] = {
|
["test/*." .. source_extension] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
alternate = {
|
alternate = {
|
||||||
"src/{}." .. header_extension
|
"src/{}." .. header_extension,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
["src/*." .. header_extension] = {
|
["src/*." .. header_extension] = {
|
||||||
type = "header",
|
type = "header",
|
||||||
alternate = {
|
alternate = {
|
||||||
"src/{}." .. source_extension
|
"src/{}." .. source_extension,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
["include/{project|basename}/*." .. header_extension] = {
|
["include/{project|basename}/*." .. header_extension] = {
|
||||||
type = "header",
|
type = "header",
|
||||||
alternate = {
|
alternate = {
|
||||||
"src/{}." .. header_extension
|
"src/{}." .. header_extension,
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -477,5 +477,5 @@ vim.g.projectionist_heuristics = {
|
||||||
["build.gradle|pom.xml"] = java_project_config,
|
["build.gradle|pom.xml"] = java_project_config,
|
||||||
["build.gradle|build.gradle.kts"] = kotlin_project_config,
|
["build.gradle|build.gradle.kts"] = kotlin_project_config,
|
||||||
["mint.json"] = mint_config,
|
["mint.json"] = mint_config,
|
||||||
["shard.yml"] = crystal_config
|
["shard.yml"] = crystal_config,
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,15 @@
|
||||||
-- - Vim REST Console setup and extra commands -
|
-- - Vim REST Console setup and extra commands -
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
vim.cmd [[command! -nargs=0 ScratchRestConsole :lua require('vim_rest_console_extensions').open_scratch_rest_console()]]
|
vim.cmd(
|
||||||
vim.cmd [[command! -nargs=? RestConsole :lua require('vim_rest_console_extensions').open_cached_rest_console(<f-args>)]]
|
[[command! -nargs=0 ScratchRestConsole :lua require('vim_rest_console_extensions').open_scratch_rest_console()]]
|
||||||
vim.cmd [[command! -nargs=? RestConsoleLocal :lua require('vim_rest_console_extensions').open_local_rest_console(<f-args>)]]
|
)
|
||||||
vim.cmd [[command! -nargs=1 RestConsoleCached :lua require('vim_rest_console_extensions').open_named_cached_rest_console(<f-args>)]]
|
vim.cmd(
|
||||||
|
[[command! -nargs=? RestConsole :lua require('vim_rest_console_extensions').open_cached_rest_console(<f-args>)]]
|
||||||
|
)
|
||||||
|
vim.cmd(
|
||||||
|
[[command! -nargs=? RestConsoleLocal :lua require('vim_rest_console_extensions').open_local_rest_console(<f-args>)]]
|
||||||
|
)
|
||||||
|
vim.cmd(
|
||||||
|
[[command! -nargs=1 RestConsoleCached :lua require('vim_rest_console_extensions').open_named_cached_rest_console(<f-args>)]]
|
||||||
|
)
|
||||||
|
|
|
@ -3,9 +3,15 @@ local s = luasnip.snippet
|
||||||
local f = luasnip.function_node
|
local f = luasnip.function_node
|
||||||
|
|
||||||
luasnip.add_snippets("all", {
|
luasnip.add_snippets("all", {
|
||||||
s("date", {f(function(_, _) return os.date("%Y-%m-%d") end)}),
|
s("date", { f(function(_, _)
|
||||||
s("datetime", {f(function(_, _) return os.date("%Y-%m-%d %H:%M:%S") end)}),
|
return os.date("%Y-%m-%d")
|
||||||
s("diso", {f(function(_, _) return os.date("%Y-%m-%dT%H:%M:%S") end)})
|
end) }),
|
||||||
|
s("datetime", { f(function(_, _)
|
||||||
|
return os.date("%Y-%m-%d %H:%M:%S")
|
||||||
|
end) }),
|
||||||
|
s("diso", { f(function(_, _)
|
||||||
|
return os.date("%Y-%m-%dT%H:%M:%S")
|
||||||
|
end) }),
|
||||||
})
|
})
|
||||||
|
|
||||||
require("luasnip.loaders.from_vscode").lazy_load()
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
|
|
|
@ -3,36 +3,28 @@
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
local actions = require("telescope.actions")
|
local actions = require("telescope.actions")
|
||||||
require("telescope").setup {
|
require("telescope").setup({
|
||||||
defaults = {
|
defaults = {
|
||||||
mappings = {
|
mappings = {
|
||||||
i = {
|
i = {
|
||||||
-- Switch out M-q and C-q since C-q will be used more often
|
-- Switch out M-q and C-q since C-q will be used more often
|
||||||
["<M-q>"] = actions.send_to_qflist + actions.open_qflist,
|
["<M-q>"] = actions.send_to_qflist + actions.open_qflist,
|
||||||
["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist
|
["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
||||||
},
|
},
|
||||||
n = {
|
n = {
|
||||||
-- Switch out M-q and C-q since C-q will be used more often
|
-- Switch out M-q and C-q since C-q will be used more often
|
||||||
["<M-q>"] = actions.send_to_qflist + actions.open_qflist,
|
["<M-q>"] = actions.send_to_qflist + actions.open_qflist,
|
||||||
["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist
|
["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
})
|
||||||
|
|
||||||
require("telescope").load_extension("dap")
|
require("telescope").load_extension("dap")
|
||||||
|
|
||||||
vim.keymap.set(
|
vim.keymap.set("n", "<C-P>", function()
|
||||||
"n",
|
|
||||||
"<C-P>",
|
|
||||||
function()
|
|
||||||
require("telescope.builtin").find_files()
|
require("telescope.builtin").find_files()
|
||||||
end
|
end)
|
||||||
)
|
vim.keymap.set("n", "<C-M-F>", function()
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"<C-M-F>",
|
|
||||||
function()
|
|
||||||
require("telescope.builtin").live_grep()
|
require("telescope.builtin").live_grep()
|
||||||
end
|
end)
|
||||||
)
|
|
||||||
|
|
|
@ -1,16 +1,13 @@
|
||||||
require "nvim-treesitter.configs".setup {
|
require("nvim-treesitter.configs").setup({
|
||||||
ensure_installed = "all", -- "all" or a list of languages
|
ensure_installed = "all", -- "all" or a list of languages
|
||||||
highlight = {
|
highlight = {
|
||||||
enable = true -- false will disable the whole extension
|
enable = true, -- false will disable the whole extension
|
||||||
},
|
|
||||||
indent = {
|
|
||||||
enable = true
|
|
||||||
},
|
},
|
||||||
playground = {
|
playground = {
|
||||||
enable = true,
|
enable = true,
|
||||||
disable = {},
|
disable = {},
|
||||||
updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code
|
updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code
|
||||||
persist_queries = false -- Whether the query persists across vim sessions
|
persist_queries = false, -- Whether the query persists across vim sessions
|
||||||
},
|
},
|
||||||
textobjects = {
|
textobjects = {
|
||||||
select = {
|
select = {
|
||||||
|
@ -18,31 +15,31 @@ require "nvim-treesitter.configs".setup {
|
||||||
lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim
|
lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim
|
||||||
keymaps = {
|
keymaps = {
|
||||||
-- You can use the capture groups defined in textobjects.scm
|
-- You can use the capture groups defined in textobjects.scm
|
||||||
['af'] = '@function.outer',
|
["af"] = "@function.outer",
|
||||||
['if'] = '@function.inner',
|
["if"] = "@function.inner",
|
||||||
['ac'] = '@class.outer',
|
["ac"] = "@class.outer",
|
||||||
['ic'] = '@class.inner',
|
["ic"] = "@class.inner",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
move = {
|
move = {
|
||||||
enable = true,
|
enable = true,
|
||||||
set_jumps = true, -- whether to set jumps in the jumplist
|
set_jumps = true, -- whether to set jumps in the jumplist
|
||||||
goto_next_start = {
|
goto_next_start = {
|
||||||
[']m'] = '@function.outer',
|
["]m"] = "@function.outer",
|
||||||
[']]'] = '@class.outer',
|
["]]"] = "@class.outer",
|
||||||
},
|
},
|
||||||
goto_next_end = {
|
goto_next_end = {
|
||||||
[']M'] = '@function.outer',
|
["]M"] = "@function.outer",
|
||||||
[']['] = '@class.outer',
|
["]["] = "@class.outer",
|
||||||
},
|
},
|
||||||
goto_previous_start = {
|
goto_previous_start = {
|
||||||
['[m'] = '@function.outer',
|
["[m"] = "@function.outer",
|
||||||
['[['] = '@class.outer',
|
["[["] = "@class.outer",
|
||||||
},
|
},
|
||||||
goto_previous_end = {
|
goto_previous_end = {
|
||||||
['[M'] = '@function.outer',
|
["[M"] = "@function.outer",
|
||||||
['[]'] = '@class.outer',
|
["[]"] = "@class.outer",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
})
|
||||||
|
|
Loading…
Reference in New Issue