Lots of tweaks and changes, yolo

This commit is contained in:
Ismo Vuorinen
2023-01-04 21:27:24 +02:00
parent bb921189e2
commit f9142a4780
6 changed files with 324 additions and 299 deletions

View File

@@ -3,27 +3,10 @@ root = true
[*]
charset = utf-8
end_of_line = lf
# indent_size = 4
indent_size = 2
indent_style = space
insert_final_newline = true
# max_line_length = 160
# tab_width = 4
trim_trailing_whitespace = true
[{*.yaml,*.yml}]
indent_size = 2
[*.sh]
indent_size = 2
tab_width = 2
shell_variant = bash # like -ln=posix
binary_next_line = true # like -bn
switch_case_indent = true # like -ci
space_redirects = true # like -sr
keep_padding = false # like -kp
function_next_line = true # like -fn
never_split = false # like -ns
[local/bin/antigen.zsh]
ignore = true

View File

@@ -58,18 +58,17 @@ alias zapds='find . -name ".DS_Store" -print -delete'
alias t='tail -f' # tail with follow flag on
alias dn='du -chd1' # directory usage, return only the total
alias code_scanner='docker run \
--env SOURCE_CODE="$PWD" \
--volume "$PWD":/code \
alias code_scanner="docker run \
--env SOURCE_CODE='${PWD}' \
--volume '${PWD}':/code \
--volume /var/run/docker.sock:/var/run/docker.sock \
registry.gitlab.com/gitlab-org/ci-cd/codequality:${CODEQUALITY_VERSION:-latest} \
/code'
/code"
alias composerUp='composer global update'
alias npmUp='npm -g up'
alias zedit='$EDITOR ~/.zshrc ~/.alias'
alias zdots='$EDITOR ~/.dotfiles'
alias zedit='$EDITOR ~/.dotfiles'
if [[ -f "$HOME/.aliases.local" ]]; then
# shellcheck disable=SC1091

View File

@@ -66,14 +66,12 @@ require('packer').startup(function(use)
-- Fuzzy Finder (files, lsp, etc)
use { 'nvim-telescope/telescope.nvim',
branch = '0.1.x',
requires = { 'nvim-lua/plenary.nvim' }
}
branch = '0.1.x', requires = { 'nvim-lua/plenary.nvim' } }
-- Fuzzy Finder Algorithm which requires local dependencies to be built.
-- Only load if `make` is available
use { 'nvim-telescope/telescope-fzf-native.nvim',
run = 'make', cond = vim.fn.executable 'make' == 1 }
run = 'make', cond = vim.fn.executable 'make' == 1 }
-- Add custom plugins to packer from
-- ~/.config/nvim/lua/custom/plugins.lua
@@ -106,11 +104,11 @@ local packer_group = vim.api.nvim_create_augroup('Packer', { clear = true })
vim.api.nvim_create_autocmd('BufWritePost', {
command = 'source <afile> | PackerCompile',
group = packer_group,
pattern = { vim.fn.expand '$MYVIMRC', '~/.dotfiles/config/nvim/**/*.lua' },
pattern = { vim.fn.expand '$MYVIMRC' },
})
-- Automatically run PackerSync for plugins.lua files.
vim.api.nvim_create_autocmd('BufWritePost', {
command = 'source <afile> | PackerSync',
command = 'source <afile> | PackerSync | PackerCompile',
group = packer_group,
pattern = { '~/.dotfiles/config/nvim/**/plugins.lua' },
})
@@ -121,7 +119,7 @@ vim.api.nvim_create_autocmd('BufWritePost', {
-- Set highlight on search
vim.o.hlsearch = false
-- Make line numbers default, enabled relative linenumbers
-- Make line numbers default, enabled relative line numbers
vim.wo.number = true
vim.opt.relativenumber = true
@@ -169,9 +167,145 @@ vim.g.maplocalleader = ' '
-- See `:help vim.keymap.set()`
vim.keymap.set({ 'n', 'v' }, '<Space>', '<Nop>', { silent = true })
-- Remap for dealing with word wrap
vim.keymap.set('n', 'k', "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
vim.keymap.set('n', 'j', "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
-- Misc options.
vim.o.incsearch = true
-- Keymap settings, etc.
-- ~/.config/nvim/lua/custom/keymaps.lua
local map = vim.api.nvim_set_keymap
local default_options_table = {
expr = true,
silent = true,
noremap = true,
}
-- normal mode keymap setter
---@param keys string Trigger keys
---@param func string Function or command to run
---@param opts table Optional table of vim.keymap.set options.
---@param desc string Optional description
local nmap = function(keys, func, opts, desc)
if desc then
desc = 'keymaps.nmap: ' .. desc
end
local options = default_options_table
-- If we have options, merge them to the local options table
if opts then
for k, v in pairs(opts) do
options[k] = v
end
end
vim.keymap.set('n', keys, func, options)
end
-- visual mode keymap setter
---@param keys string Trigger keys
---@param func string Function or command to run
---@param opts table Optional table of vim.keymap.set options.
---@param desc string Optional description
local vmap = function(keys, func, opts, desc)
if desc then
desc = 'keymaps.vmap: ' .. desc
end
local options = default_options_table
-- If we have options, merge them to the local options table
if opts then
for k, v in pairs(opts) do
options[k] = v
end
end
vim.keymap.set('v', keys, func, options)
end
-- Format document
nmap("<leader>D", ":Format")
-- Deal with word wrap
nmap('k', "v:count == 0 ? 'gk' : 'k'")
nmap('j', "v:count == 0 ? 'gj' : 'j'")
-- Diagnostic keymaps
nmap('dz', vim.diagnostic.goto_prev)
nmap('dx', vim.diagnostic.goto_next)
nmap('<leader>e', vim.diagnostic.open_float)
nmap('<leader>q', vim.diagnostic.setloclist)
--
-- ThePrimeagen/refactoring.nvim
-- https://github.com/ThePrimeagen/refactoring.nvim
--
-- Remaps for the refactoring operations currently offered by the plugin
local rf = { noremap = true, silent = true, expr = false }
vmap("<leader>re", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function')<CR>]], rf)
vmap("<leader>rf", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function To File')<CR>]], rf)
vmap("<leader>rv", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]], rf)
vmap("<leader>ri", [[ <Esc><Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]], rf)
-- Extract block doesn't need visual mode
nmap("<leader>rb", [[ <Cmd>lua require('refactoring').refactor('Extract Block')<CR>]], rf)
nmap("<leader>rbf", [[ <Cmd>lua require('refactoring').refactor('Extract Block To File')<CR>]], rf)
-- Inline variable can also pick up the identifier currently under the cursor without visual mode
nmap("<leader>ri", [[ <Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]], rf)
-- prompt for a refactor to apply when the remap is triggered
vmap("<leader>rr", ":lua require('refactoring').select_refactor()<CR>", rf)
--
--
--
-- barbar keymaps
local barbar_opts = { noremap = true, silent = true }
-- Move to previous/next
map('n', '<C-,>', '<Cmd>BufferPrevious<CR>', barbar_opts)
map('n', '<C-.>', '<Cmd>BufferNext<CR>', barbar_opts)
-- Re-order to previous/next
map('n', '<C-<>', '<Cmd>BufferMovePrevious<CR>', barbar_opts)
map('n', '<C->>', '<Cmd>BufferMoveNext<CR>', barbar_opts)
-- Goto buffer in position...
map('n', '<leader>b1', '<Cmd>BufferGoto 1<CR>', barbar_opts)
map('n', '<leader>b2', '<Cmd>BufferGoto 2<CR>', barbar_opts)
map('n', '<leader>b3', '<Cmd>BufferGoto 3<CR>', barbar_opts)
map('n', '<leader>b4', '<Cmd>BufferGoto 4<CR>', barbar_opts)
map('n', '<leader>b5', '<Cmd>BufferGoto 5<CR>', barbar_opts)
map('n', '<leader>b6', '<Cmd>BufferGoto 6<CR>', barbar_opts)
map('n', '<leader>b7', '<Cmd>BufferGoto 7<CR>', barbar_opts)
map('n', '<leader>b8', '<Cmd>BufferGoto 8<CR>', barbar_opts)
map('n', '<leader>b9', '<Cmd>BufferGoto 9<CR>', barbar_opts)
map('n', '<leader>b0', '<Cmd>BufferLast<CR>', barbar_opts)
-- Pin/unpin buffer
map('n', '<A-p>', '<Cmd>BufferPin<CR>', barbar_opts)
-- Close buffer
map('n', '<A-c>', '<Cmd>BufferClose<CR>', barbar_opts)
-- Wipeout buffer
-- :BufferWipeout
-- Close commands
-- :BufferCloseAllButCurrent
-- :BufferCloseAllButPinned
-- :BufferCloseAllButCurrentOrPinned
-- :BufferCloseBuffersLeft
-- :BufferCloseBuffersRight
-- Magic buffer-picking mode
map('n', '<C-p>', '<Cmd>BufferPick<CR>', barbar_opts)
-- Sort automatically by...
map('n', '<Space>bb', '<Cmd>BufferOrderByBufferNumber<CR>', barbar_opts)
map('n', '<Space>bd', '<Cmd>BufferOrderByDirectory<CR>', barbar_opts)
map('n', '<Space>bl', '<Cmd>BufferOrderByLanguage<CR>', barbar_opts)
map('n', '<Space>bw', '<Cmd>BufferOrderByWindowNumber<CR>', barbar_opts)
-- Other:
-- :BarbarEnable - enables barbar (enabled by default)
-- :BarbarDisable - very bad command, should never be used
local highlight_group = vim.api.nvim_create_augroup(
'YankHighlight', { clear = true }
@@ -236,34 +370,27 @@ require('telescope').setup {
-- Enable telescope fzf native, if installed
pcall(require('telescope').load_extension, 'fzf')
local ks = vim.keymap.set
local tl = require('telescope.builtin')
-- See `:help telescope.builtin`
vim.keymap.set('n', '<leader>?', require('telescope.builtin').oldfiles,
{ desc = '[?] Find recently opened files' })
vim.keymap.set('n', '<leader><space>', require('telescope.builtin').buffers,
{ desc = '[ ] Find existing buffers' })
vim.keymap.set('n', '<leader>/', function()
ks('n', '<leader>?', tl.oldfiles, { desc = '[?] Find recently opened files' })
ks('n', '<leader><space>', tl.buffers, { desc = '[ ] Find existing buffers' })
ks('n', '<leader>/', function()
-- You can pass additional configuration to telescope to
-- change theme, layout, etc.
require('telescope.builtin').current_buffer_fuzzy_find(
tl.current_buffer_fuzzy_find(
require('telescope.themes').get_dropdown {
winblend = 10,
previewer = false,
})
end, { desc = '[/] Fuzzily search in current buffer]' })
vim.keymap.set('n', '<leader>sf', require('telescope.builtin').find_files,
{ desc = '[S]earch [F]iles' })
vim.keymap.set('n', '<leader>sh', require('telescope.builtin').help_tags,
{ desc = '[S]earch [H]elp' })
vim.keymap.set('n', '<leader>sw', require('telescope.builtin').grep_string,
{ desc = '[S]earch current [W]ord' })
vim.keymap.set('n', '<leader>sg', require('telescope.builtin').live_grep,
{ desc = '[S]earch by [G]rep' })
vim.keymap.set('n', '<leader>sd', require('telescope.builtin').diagnostics,
{ desc = '[S]earch [D]iagnostics' })
-- Load custom treesitter grammar for org filetype
require('orgmode').setup_ts_grammar()
ks('n', '<leader>sf', tl.find_files, { desc = '[S]earch [F]iles' })
ks('n', '<leader>sh', tl.help_tags, { desc = '[S]earch [H]elp' })
ks('n', '<leader>sw', tl.grep_string, { desc = '[S]earch current [W]ord' })
ks('n', '<leader>sg', tl.live_grep, { desc = '[S]earch by [G]rep' })
ks('n', '<leader>sd', tl.diagnostics, { desc = '[S]earch [D]iagnostics' })
-- [[ Configure Treesitter ]]
-- See `:help nvim-treesitter`
@@ -355,20 +482,16 @@ require('nvim-treesitter.configs').setup {
},
}
-- Load custom treesitter grammar for org filetype
require('orgmode').setup_ts_grammar()
require('orgmode').setup({
org_agenda_files = {
'~/Library/Mobile Documents/iCloud~md~obsidian/Documents/_nvalt/**/*',
'~/.dotfiles/local/org/**/*'
vim.fn.expand '~/.local/share/_nvalt/**/*',
vim.fn.expand '~/.dotfiles/local/org/**/*'
},
org_default_notes_file = '~/Library/Mobile Documents/iCloud~md~obsidian/Documents/_nvalt/refile.org',
org_default_notes_file = vim.fn.expand '~/.local/share/_nvalt/refile.org',
})
-- Diagnostic keymaps
vim.keymap.set('n', 'dz', vim.diagnostic.goto_prev)
vim.keymap.set('n', 'dx', vim.diagnostic.goto_next)
vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float)
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist)
-- LSP settings.
-- This function gets run when an LSP connects to a particular buffer.
local on_attach = function(_, bufnr)
@@ -380,7 +503,7 @@ local on_attach = function(_, bufnr)
-- In this case, we create a function that lets us more
-- easily define mappings specific for LSP related items.
-- It sets the mode, buffer and description for us each time.
local nmap = function(keys, func, desc)
local nm = function(keys, func, desc)
if desc then
desc = 'LSP: ' .. desc
end
@@ -388,31 +511,29 @@ local on_attach = function(_, bufnr)
vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc })
end
nmap('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame')
nmap('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction')
local t = require('telescope.builtin')
local vbuf = vim.lsp.buf
nmap('gd', vim.lsp.buf.definition, '[G]oto [D]efinition')
nmap('gr', require('telescope.builtin').lsp_references,
'[G]oto [R]eferences')
nmap('gI', vim.lsp.buf.implementation, '[G]oto [I]mplementation')
nmap('<leader>D', vim.lsp.buf.type_definition, 'Type [D]efinition')
nmap('<leader>ds', require('telescope.builtin').lsp_document_symbols,
'[D]ocument [S]ymbols')
nmap('<leader>ws', require('telescope.builtin').lsp_dynamic_workspace_symbols,
'[W]orkspace [S]ymbols')
nm('<leader>rn', vbuf.rename, '[R]e[n]ame')
nm('<leader>ca', vbuf.code_action, '[C]ode [A]ction')
nm('gd', vbuf.definition, '[G]oto [D]efinition')
nm('gr', t.lsp_references, '[G]oto [R]eferences')
nm('gI', vbuf.implementation, '[G]oto [I]mplementation')
nm('<leader>D', vbuf.type_definition, 'Type [D]efinition')
nm('<leader>ds', t.lsp_document_symbols, '[D]ocument [S]ymbols')
nm('<leader>ws', t.lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols')
-- See `:help K` for why this keymap
nmap('K', vim.lsp.buf.hover, 'Hover Documentation')
nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation')
nm('K', vbuf.hover, 'Hover Documentation')
nm('<C-k>', vbuf.signature_help, 'Signature Documentation')
-- Lesser used LSP functionality
nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
nmap('<leader>wa', vim.lsp.buf.add_workspace_folder,
'[W]orkspace [A]dd Folder')
nmap('<leader>wr', vim.lsp.buf.remove_workspace_folder,
'[W]orkspace [R]emove Folder')
nmap('<leader>wl', function()
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
nm('gD', vbuf.declaration, '[G]oto [D]eclaration')
nm('<leader>wa', vbuf.add_workspace_folder, '[W]orkspace [A]dd Folder')
nm('<leader>wr', vbuf.remove_workspace_folder, '[W]orkspace [R]emove Folder')
nm('<leader>wl', function()
print(vim.inspect(vbuf.list_workspace_folders()))
end, '[W]orkspace [L]ist Folders')
-- Create a command `:Format` local to the LSP buffer
@@ -427,6 +548,10 @@ end
-- Setup mason so it can manage external tooling
require('mason').setup()
require("null-ls").setup()
require("mason-null-ls").setup({
automatic_setup = true,
})
-- Enable the following language servers.
-- Feel free to add/remove any LSPs that you want here.
@@ -463,7 +588,6 @@ local servers = {
'marksman', -- markdown
-- n
-- o
'spectral', --openapi
-- p
'intelephense', 'phpactor', 'psalm',
'pyright',
@@ -496,7 +620,8 @@ require("mason-lspconfig").setup_handlers {
-- The first entry (without a key) will be the default handler
-- and will be called for each installed server that doesn't have
-- a dedicated handler.
function(server_name) -- default handler (optional)
function(server_name)
-- default handler (optional)
require("lspconfig")[server_name].setup {}
end,
}
@@ -515,8 +640,7 @@ end
-- Turn on lsp status information
require('fidget').setup()
-- Example custom configuration for lua
--
-- Example custom configuration for lua.
-- Make runtime files discoverable to the server
local runtime_path = vim.split(package.path, ';')
table.insert(runtime_path, 'lua/?.lua')
@@ -591,50 +715,7 @@ cmp.setup {
},
}
-- barbar keymaps
local map = vim.api.nvim_set_keymap
local opts = { noremap = true, silent = true }
-- Move to previous/next
map('n', '<C-,>', '<Cmd>BufferPrevious<CR>', opts)
map('n', '<C-.>', '<Cmd>BufferNext<CR>', opts)
-- Re-order to previous/next
map('n', '<C-<>', '<Cmd>BufferMovePrevious<CR>', opts)
map('n', '<C->>', '<Cmd>BufferMoveNext<CR>', opts)
-- Goto buffer in position...
map('n', '<leader>b1', '<Cmd>BufferGoto 1<CR>', opts)
map('n', '<leader>b2', '<Cmd>BufferGoto 2<CR>', opts)
map('n', '<leader>b3', '<Cmd>BufferGoto 3<CR>', opts)
map('n', '<leader>b4', '<Cmd>BufferGoto 4<CR>', opts)
map('n', '<leader>b5', '<Cmd>BufferGoto 5<CR>', opts)
map('n', '<leader>b6', '<Cmd>BufferGoto 6<CR>', opts)
map('n', '<leader>b7', '<Cmd>BufferGoto 7<CR>', opts)
map('n', '<leader>b8', '<Cmd>BufferGoto 8<CR>', opts)
map('n', '<leader>b9', '<Cmd>BufferGoto 9<CR>', opts)
map('n', '<leader>b0', '<Cmd>BufferLast<CR>', opts)
-- Pin/unpin buffer
map('n', '<A-p>', '<Cmd>BufferPin<CR>', opts)
-- Close buffer
map('n', '<A-c>', '<Cmd>BufferClose<CR>', opts)
-- Wipeout buffer
-- :BufferWipeout
-- Close commands
-- :BufferCloseAllButCurrent
-- :BufferCloseAllButPinned
-- :BufferCloseAllButCurrentOrPinned
-- :BufferCloseBuffersLeft
-- :BufferCloseBuffersRight
-- Magic buffer-picking mode
map('n', '<C-p>', '<Cmd>BufferPick<CR>', opts)
-- Sort automatically by...
map('n', '<Space>bb', '<Cmd>BufferOrderByBufferNumber<CR>', opts)
map('n', '<Space>bd', '<Cmd>BufferOrderByDirectory<CR>', opts)
map('n', '<Space>bl', '<Cmd>BufferOrderByLanguage<CR>', opts)
map('n', '<Space>bw', '<Cmd>BufferOrderByWindowNumber<CR>', opts)
-- Other:
-- :BarbarEnable - enables barbar (enabled by default)
-- :BarbarDisable - very bad command, should never be used
vim.api.nvim_create_autocmd("BufWritePost",
{ pattern = "plugins.lua", command = "source <afile> | PackerSync" })

View File

@@ -1,185 +1,146 @@
return function(use)
-- 💥 Create key bindings that stick.
-- WhichKey is a lua plugin that displays a popup with
-- possible keybindings of the command you started typing.
use({ "folke/which-key.nvim",
config = function() require("which-key").setup({}) end
})
-- 💥 Create key bindings that stick.
-- WhichKey is a lua plugin that displays a popup with
-- possible keybindings of the command you started typing.
-- https://github.com/folke/which-key.nvim
use({
"folke/which-key.nvim",
config = function()
require("which-key").setup({})
end
})
-- 🍨 Soothing pastel theme for (Neo)vim
-- https://github.com/catppuccin/nvim
-- use { "catppuccin/nvim", as = "catppuccin" }
-- vim.cmd.colorscheme('catppuccin-latte')
-- 🍨 Soothing pastel theme for (Neo)vim
-- https://github.com/catppuccin/nvim
-- use { "catppuccin/nvim", as = "catppuccin" }
-- vim.cmd.colorscheme('catppuccin-latte')
-- markdown preview plugin for (neo)vim
-- https://github.com/iamcco/markdown-preview.nvim
use({ "iamcco/markdown-preview.nvim",
run = function() vim.fn["mkdp#util#install"]() end,
})
-- markdown preview plugin for (neo)vim
-- https://github.com/iamcco/markdown-preview.nvim
use({
"iamcco/markdown-preview.nvim",
run = function()
vim.fn["mkdp#util#install"]()
end,
})
-- The neovim tabline plugin.
-- https://github.com/romgrk/barbar.nvim
use 'nvim-tree/nvim-web-devicons'
use { 'romgrk/barbar.nvim', wants = 'nvim-web-devicons' }
-- The neovim tabline plugin.
-- https://github.com/romgrk/barbar.nvim
use 'nvim-tree/nvim-web-devicons'
use { 'romgrk/barbar.nvim', wants = 'nvim-web-devicons' }
-- Pretty UI
use 'stevearc/dressing.nvim' -- Neovim plugin to improve the default vim.ui interfaces
use 'rcarriga/nvim-notify' -- A fancy, configurable, notification manager for NeoVim
use 'vigoux/notifier.nvim' -- Non-intrusive notification system for neovim
use { 'folke/todo-comments.nvim', -- ✅ Highlight, list and search todo comments in your projects
requires = 'nvim-lua/plenary.nvim',
config = function() require('todo-comments').setup {} end,
--
-- Pretty UI
--
-- Neovim plugin to improve the default vim.ui interfaces
use 'stevearc/dressing.nvim'
-- A fancy, configurable, notification manager for NeoVim
use 'rcarriga/nvim-notify'
-- Non-intrusive notification system for neovim
use 'vigoux/notifier.nvim'
-- ✅ Highlight, list and search todo comments in your projects
use {
'folke/todo-comments.nvim',
requires = 'nvim-lua/plenary.nvim',
config = function()
require('todo-comments').setup {}
end,
}
-- The Refactoring library based off the Refactoring book by Martin Fowler
-- https://github.com/ThePrimeagen/refactoring.nvim
use {
"ThePrimeagen/refactoring.nvim",
requires = {
{ "nvim-lua/plenary.nvim" },
{ "nvim-treesitter/nvim-treesitter" }
}
}
-- The Refactoring library based off the Refactoring book by Martin Fowler
-- https://github.com/ThePrimeagen/refactoring.nvim
use {
"ThePrimeagen/refactoring.nvim",
requires = {
{ "nvim-lua/plenary.nvim" },
{ "nvim-treesitter/nvim-treesitter" }
-- An asynchronous linter plugin for Neovim complementary to
-- the built-in Language Server Protocol support.
-- https://github.com/mfussenegger/nvim-lint
use 'mfussenegger/nvim-lint'
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
callback = function()
require("lint").try_lint()
end,
})
-- nvim orgmode, to get me use nvim even more.
use({
"nvim-orgmode/orgmode",
config = function()
require('orgmode').setup_ts_grammar()
end,
})
-- Markdown support
use 'preservim/vim-markdown'
use 'godlygeek/tabular'
-- obsidian plugin for nvim
-- https://github.com/epwalsh/obsidian.nvim
use({
"epwalsh/obsidian.nvim",
config = function()
require("obsidian").setup({
dir = '~/.local/share/_nvalt',
notes_subdir = "notes",
daily_notes = {
folder = "_daily"
},
completion = {
nvim_cmp = true, -- if using nvim-cmp, otherwise set to false
}
}
})
end
})
-- An asynchronous linter plugin for Neovim complementary to the built-in Language Server Protocol support.
-- https://github.com/mfussenegger/nvim-lint
use 'mfussenegger/nvim-lint'
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
callback = function() require("lint").try_lint() end,
})
-- Creates missing folders on save
-- https://github.com/jghauser/mkdir.nvim
use { 'jghauser/mkdir.nvim' }
-- nvim orgmode, to get me use nvim even more.
use({ "nvim-orgmode/orgmode",
config = function() require("orgmode").setup({}) end,
})
-- Neovim plugin for dimming the highlights of unused
-- functions, variables, parameters, and more
-- https://github.com/zbirenbaum/neodim
use {
"zbirenbaum/neodim",
event = "LspAttach",
config = function()
require("neodim").setup({
alpha = 0.75,
blend_color = "#000000",
update_in_insert = {
enable = true,
delay = 100,
},
hide = {
virtual_text = true,
signs = true,
underline = true,
}
})
end
}
-- Markdown support
use 'preservim/vim-markdown'
use 'godlygeek/tabular'
-- EditorConfig plugin for Neovim
-- https://github.com/gpanders/editorconfig.nvim
use { 'gpanders/editorconfig.nvim' }
-- obsidian plugin for nvim
-- https://github.com/epwalsh/obsidian.nvim
use({ "epwalsh/obsidian.nvim",
config = function()
require("obsidian").setup({
dir = '~/.local/share/_nvalt',
notes_subdir = "notes",
daily_notes = {
folder = "_daily"
},
completion = {
nvim_cmp = true, -- if using nvim-cmp, otherwise set to false
}
})
end
})
-- Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
-- https://github.com/jose-elias-alvarez/null-ls.nvim
use { "jose-elias-alvarez/null-ls.nvim" }
-- Creates missing folders on save
-- https://github.com/jghauser/mkdir.nvim
use { 'jghauser/mkdir.nvim' }
-- Neovim plugin for dimming the highlights of unused
-- functions, variables, parameters, and more
-- https://github.com/zbirenbaum/neodim
use { "zbirenbaum/neodim",
event = "LspAttach",
config = function()
require("neodim").setup({
alpha = 0.75,
blend_color = "#000000",
update_in_insert = {
enable = true,
delay = 100,
},
hide = {
virtual_text = true,
signs = true,
underline = true,
}
})
end
}
-- EditorConfig plugin for Neovim
-- https://github.com/gpanders/editorconfig.nvim
use { 'gpanders/editorconfig.nvim' }
-- Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
-- https://github.com/jose-elias-alvarez/null-ls.nvim
use ({ "jose-elias-alvarez/null-ls.nvim",
requires = { "nvim-lua/plenary.nvim" },
config = function ()
local null_ls = require("null-ls")
null_ls.setup({
sources = {
null_ls.builtins.formatting.blade_formatter,
null_ls.builtins.formatting.eslint,
null_ls.builtins.formatting.fixjson,
null_ls.builtins.formatting.lua_format,
null_ls.builtins.formatting.markdownlint,
null_ls.builtins.formatting.prettier,
null_ls.builtins.formatting.shfmt,
null_ls.builtins.formatting.stylelint,
-- null_ls.builtins.formatting.stylua,
null_ls.builtins.formatting.terraform_fmt,
null_ls.builtins.formatting.trim_whitespace,
null_ls.builtins.formatting.yamlfmt,
null_ls.builtins.diagnostics.alex,
null_ls.builtins.diagnostics.ansiblelint,
null_ls.builtins.diagnostics.actionlint,
null_ls.builtins.diagnostics.codespell,
null_ls.builtins.diagnostics.dotenv_linter,
null_ls.builtins.diagnostics.editorconfig_checker,
null_ls.builtins.diagnostics.eslint,
null_ls.builtins.diagnostics.hadolint,
null_ls.builtins.diagnostics.jsonlint,
null_ls.builtins.diagnostics.luacheck,
null_ls.builtins.diagnostics.markdownlint,
null_ls.builtins.diagnostics.php,
null_ls.builtins.diagnostics.phpcs,
null_ls.builtins.diagnostics.phpstan,
null_ls.builtins.diagnostics.psalm,
null_ls.builtins.diagnostics.shellcheck,
null_ls.builtins.diagnostics.spectral,
null_ls.builtins.diagnostics.stylelint,
null_ls.builtins.diagnostics.todo_comments,
null_ls.builtins.diagnostics.trail_space,
null_ls.builtins.diagnostics.xo,
null_ls.builtins.diagnostics.yamllint,
null_ls.builtins.completion.spell,
null_ls.builtins.completion.luasnip,
null_ls.builtins.code_actions.eslint,
null_ls.builtins.code_actions.shellcheck,
null_ls.builtins.code_actions.xo,
}
})
end
})
local map = vim.api.nvim_set_keymap
map("n", "<leader>ff", ":Format", { noremap = true, silent = true })
-- Remaps for the refactoring operations currently offered by the plugin
local refact_opts = { noremap = true, silent = true, expr = false }
map("v", "<leader>re", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function')<CR>]], refact_opts)
map("v", "<leader>rf", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function To File')<CR>]],
refact_opts)
map("v", "<leader>rv", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]], refact_opts)
map("v", "<leader>ri", [[ <Esc><Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]], refact_opts)
-- Extract block doesn't need visual mode
map("n", "<leader>rb", [[ <Cmd>lua require('refactoring').refactor('Extract Block')<CR>]], refact_opts)
map("n", "<leader>rbf", [[ <Cmd>lua require('refactoring').refactor('Extract Block To File')<CR>]], refact_opts)
-- Inline variable can also pick up the identifier currently under the cursor without visual mode
map("n", "<leader>ri", [[ <Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]], refact_opts)
-- prompt for a refactor to apply when the remap is triggered
map("v", "<leader>rr", ":lua require('refactoring').select_refactor()<CR>", refact_opts)
-- mason-null-ls bridges mason.nvim with the null-ls plugin
-- - making it easier to use both plugins together.
-- https://github.com/jay-babu/mason-null-ls.nvim
use {
"jayp0521/mason-null-ls.nvim",
requires = { "jose-elias-alvarez/null-ls.nvim" }
}
end

1
config/nvim/plugin/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
packer_compiled.lua

View File

@@ -109,7 +109,7 @@ function section_dotfiles
rcup -B 0 -g \
| tee "$INSTALL_SCRIPT" 1> /dev/null \
&& sed -i '' "s|$HOME|\$HOME|g" "$INSTALL_SCRIPT" \
&& sed -i '' "s|install.sh|$(basename $INSTALL_SCRIPT)|g" "$INSTALL_SCRIPT"
&& sed -i '' "s|install.sh|$(basename "$INSTALL_SCRIPT")|g" "$INSTALL_SCRIPT"
$0 dotfiles shfmt
msg_done "🎉 Done!"
;;