Compare commits

...

6 Commits

Author SHA1 Message Date
Ismo Vuorinen
6c680a0fa9 dfm: tweaks 2022-12-29 10:39:05 +02:00
Ismo Vuorinen
6746fb5381 nvim: orgmode, ts ensure_installed 2022-12-29 10:38:52 +02:00
7b2831ec94 nvim: Docs, simplification, new plugins 2022-12-29 08:46:06 +02:00
a605d46294 nvim plugins and configs 2022-12-29 04:24:48 +02:00
Ismo Vuorinen
5e98f61942 Moved custom plugins to their own file 2022-12-27 16:21:39 +02:00
Ismo Vuorinen
e2583f4d91 Fix Sparragus/zsh-auto-nvm-use 2022-12-27 16:20:56 +02:00
6 changed files with 219 additions and 26 deletions

View File

@@ -57,20 +57,6 @@ require('packer').startup(function(use)
-- 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 }
-- catppuccin theme
use { "catppuccin/nvim", as = "catppuccin" }
use {
"folke/which-key.nvim",
config = function()
require("which-key").setup {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section in the docs
}
end
}
-- Add custom plugins to packer from ~/.config/nvim/lua/custom/plugins.lua
local has_plugins, plugins = pcall(require, 'custom.plugins')
if has_plugins then
@@ -109,8 +95,9 @@ vim.api.nvim_create_autocmd('BufWritePost', {
-- Set highlight on search
vim.o.hlsearch = false
-- Make line numbers default
-- Make line numbers default, enabled relative linenumbers
vim.wo.number = true
vim.opt.relativenumber = true
-- Enable mouse mode
vim.o.mouse = 'a'
@@ -131,12 +118,15 @@ vim.wo.signcolumn = 'yes'
-- Set colorscheme
vim.o.termguicolors = true
--vim.cmd.colorscheme('palenight')
vim.cmd.colorscheme('catppuccin-macchiato')
-- vim.cmd.colorscheme('palenight')
-- Set completeopt to have a better completion experience
vim.o.completeopt = 'menuone,noselect'
-- Configure and disable providers.
vim.g.python3_host_prog = '/opt/homebrew/bin/python3'
vim.g.loaded_ruby_provider = 0
-- [[ Basic Keymaps ]]
-- Set <space> as the leader key
-- See `:help mapleader`
@@ -165,8 +155,8 @@ vim.api.nvim_create_autocmd('TextYankPost', {
-- See `:help lualine.txt`
require('lualine').setup {
options = {
icons_enabled = false,
theme = 'catppuccin-macchiato',
icons_enabled = true,
theme = 'auto',
component_separators = '|',
section_separators = '',
},
@@ -178,8 +168,11 @@ require('Comment').setup()
-- Enable `lukas-reineke/indent-blankline.nvim`
-- See `:help indent_blankline.txt`
require('indent_blankline').setup {
char = '',
show_trailing_blankline_indent = false,
-- char = '┊',
show_trailing_blankline_indent = true,
space_char_blankline = " ",
show_current_context = true,
show_current_context_start = true,
}
-- Gitsigns
@@ -235,7 +228,23 @@ vim.keymap.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { de
-- See `:help nvim-treesitter`
require('nvim-treesitter.configs').setup {
-- Add languages to be installed here that you want installed for treesitter
ensure_installed = { 'c', 'cpp', 'go', 'lua', 'php', 'python', 'rust', 'typescript', 'help' },
ensure_installed = {
'bash',
'c', 'comment', 'cpp',
'diff', 'dockerfile',
'gitattributes', 'gitignore', 'go',
'html', 'http',
'javascript', 'jq', 'jsdoc', 'json',
'lua',
'markdown',
'php', 'phpdoc', 'python',
'regex', 'rust',
'scss', 'sql',
'typescript',
'vim', 'vue',
'yaml',
'help',
},
highlight = { enable = true },
indent = { enable = true, disable = { 'python' } },
@@ -456,5 +465,57 @@ cmp.setup {
},
}
-- barbar keymaps
local map = vim.api.nvim_set_keymap
local opts = { noremap = true, silent = true }
-- Move to previous/next
map('n', '<A-,>', '<Cmd>BufferPrevious<CR>', opts)
map('n', '<A-.>', '<Cmd>BufferNext<CR>', opts)
-- Re-order to previous/next
map('n', '<A-<>', '<Cmd>BufferMovePrevious<CR>', opts)
map('n', '<A->>', '<Cmd>BufferMoveNext<CR>', opts)
-- Goto buffer in position...
map('n', '<A-1>', '<Cmd>BufferGoto 1<CR>', opts)
map('n', '<A-2>', '<Cmd>BufferGoto 2<CR>', opts)
map('n', '<A-3>', '<Cmd>BufferGoto 3<CR>', opts)
map('n', '<A-4>', '<Cmd>BufferGoto 4<CR>', opts)
map('n', '<A-5>', '<Cmd>BufferGoto 5<CR>', opts)
map('n', '<A-6>', '<Cmd>BufferGoto 6<CR>', opts)
map('n', '<A-7>', '<Cmd>BufferGoto 7<CR>', opts)
map('n', '<A-8>', '<Cmd>BufferGoto 8<CR>', opts)
map('n', '<A-9>', '<Cmd>BufferGoto 9<CR>', opts)
map('n', '<A-0>', '<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" })
vim.api.nvim_create_autocmd("BufRead", { pattern = "*/node_modules/*", command = "lua vim.diagnostic.disable(0)" })
vim.api.nvim_create_autocmd("BufNewFile", { pattern = "*/node_modules/*", command = "lua vim.diagnostic.disable(0)" })
-- Enable spell checking for certain file types
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { pattern = { "*.txt", "*.md", "*.tex" },
command = "setlocal spell" })
-- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et

View File

@@ -0,0 +1,75 @@
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 })
-- 🍨 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,
})
-- 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,
}
-- 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({}) end,
})
-- Remaps for the refactoring operations currently offered by the plugin
local map = vim.api.nvim_set_keymap
local refactoring_opts = { noremap = true, silent = true, expr = false }
map("v", "<leader>re", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function')<CR>]], refactoring_opts)
map("v", "<leader>rf", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function To File')<CR>]], refactoring_opts)
map("v", "<leader>rv", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]], refactoring_opts)
map("v", "<leader>ri", [[ <Esc><Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]], refactoring_opts)
-- Extract block doesn't need visual mode
map("n", "<leader>rb", [[ <Cmd>lua require('refactoring').refactor('Extract Block')<CR>]], refactoring_opts)
map("n", "<leader>rbf", [[ <Cmd>lua require('refactoring').refactor('Extract Block To File')<CR>]], refactoring_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>]],refactoring_opts)
-- prompt for a refactor to apply when the remap is triggered
map("v", "<leader>rr", ":lua require('refactoring').select_refactor()<CR>", refactoring_opts)
end

View File

@@ -84,6 +84,17 @@ _G.packer_plugins = {
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/LuaSnip",
url = "https://github.com/L3MON4D3/LuaSnip"
},
["barbar.nvim"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/barbar.nvim",
url = "https://github.com/romgrk/barbar.nvim",
wants = { "nvim-web-devicons" }
},
catppuccin = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/catppuccin",
url = "https://github.com/catppuccin/nvim"
},
["cmp-nvim-lsp"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
@@ -94,6 +105,11 @@ _G.packer_plugins = {
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
url = "https://github.com/saadparwaiz1/cmp_luasnip"
},
["dressing.nvim"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/dressing.nvim",
url = "https://github.com/stevearc/dressing.nvim"
},
["fidget.nvim"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/fidget.nvim",
@@ -114,6 +130,11 @@ _G.packer_plugins = {
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/lualine.nvim",
url = "https://github.com/nvim-lualine/lualine.nvim"
},
["markdown-preview.nvim"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/markdown-preview.nvim",
url = "https://github.com/iamcco/markdown-preview.nvim"
},
["mason-lspconfig.nvim"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim",
@@ -124,16 +145,31 @@ _G.packer_plugins = {
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/mason.nvim",
url = "https://github.com/williamboman/mason.nvim"
},
["notifier.nvim"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/notifier.nvim",
url = "https://github.com/vigoux/notifier.nvim"
},
["nvim-cmp"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/nvim-cmp",
url = "https://github.com/hrsh7th/nvim-cmp"
},
["nvim-lint"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/nvim-lint",
url = "https://github.com/mfussenegger/nvim-lint"
},
["nvim-lspconfig"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
url = "https://github.com/neovim/nvim-lspconfig"
},
["nvim-notify"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/nvim-notify",
url = "https://github.com/rcarriga/nvim-notify"
},
["nvim-treesitter"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
@@ -146,6 +182,11 @@ _G.packer_plugins = {
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/opt/nvim-treesitter-textobjects",
url = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects"
},
["nvim-web-devicons"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
url = "https://github.com/nvim-tree/nvim-web-devicons"
},
["packer.nvim"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/packer.nvim",
@@ -161,6 +202,11 @@ _G.packer_plugins = {
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/plenary.nvim",
url = "https://github.com/nvim-lua/plenary.nvim"
},
["refactoring.nvim"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/refactoring.nvim",
url = "https://github.com/ThePrimeagen/refactoring.nvim"
},
["telescope-fzf-native.nvim"] = {
cond = { true },
loaded = false,
@@ -174,6 +220,12 @@ _G.packer_plugins = {
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/telescope.nvim",
url = "https://github.com/nvim-telescope/telescope.nvim"
},
["todo-comments.nvim"] = {
config = { "\27LJ\2\n?\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\18todo-comments\frequire\0" },
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/todo-comments.nvim",
url = "https://github.com/folke/todo-comments.nvim"
},
["vim-fugitive"] = {
loaded = true,
path = "/Users/ivuorinen/.local/share/nvim/site/pack/packer/start/vim-fugitive",
@@ -198,6 +250,10 @@ _G.packer_plugins = {
}
time([[Defining packer_plugins]], false)
-- Config for: todo-comments.nvim
time([[Config for todo-comments.nvim]], true)
try_loadstring("\27LJ\2\n?\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\18todo-comments\frequire\0", "config", "todo-comments.nvim")
time([[Config for todo-comments.nvim]], false)
-- Config for: which-key.nvim
time([[Config for which-key.nvim]], true)
try_loadstring("\27LJ\2\n;\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\14which-key\frequire\0", "config", "which-key.nvim")

View File

@@ -14,7 +14,7 @@
SCRIPT=$(basename "$0")
source "$HOME/.dotfiles/scripts/shared.sh"
source "$DOTFILES/scripts/shared.sh"
function section_install
{
@@ -74,7 +74,7 @@ function section_brew
;;
update)
brew update && brew outdated && brew upgrade && brew cleanup
echo "🎉 Done!"
msg_done "🎉 Done!"
;;
updatebundle)
# Updates .dotfiles/Brewfile with descriptions

View File

@@ -75,7 +75,9 @@ handle_file_ln "$HOME/.dotfiles/config/functions" "$HOME/.config/functions"
handle_file_ln "$HOME/.dotfiles/config/gh/config.yml" "$HOME/.config/gh/config.yml"
handle_file_ln "$HOME/.dotfiles/config/git/config" "$HOME/.config/git/config"
handle_file_ln "$HOME/.dotfiles/config/git/gitignore" "$HOME/.config/git/gitignore"
handle_file_ln "$HOME/.dotfiles/config/nvim/after/plugin/defaults.lua" "$HOME/.config/nvim/after/plugin/defaults.lua"
handle_file_ln "$HOME/.dotfiles/config/nvim/init.lua" "$HOME/.config/nvim/init.lua"
handle_file_ln "$HOME/.dotfiles/config/nvim/lua/custom/plugins.lua" "$HOME/.config/nvim/lua/custom/plugins.lua"
handle_file_ln "$HOME/.dotfiles/config/nvim/plugin/packer_compiled.lua" "$HOME/.config/nvim/plugin/packer_compiled.lua"
handle_file_ln "$HOME/.dotfiles/config/tmux/tmux.conf" "$HOME/.config/tmux/tmux.conf"
handle_file_ln "$HOME/.dotfiles/config/wtf/config.yml" "$HOME/.config/wtf/config.yml"

3
zshrc
View File

@@ -72,14 +72,13 @@ if command -v antigen &> /dev/null; then
antigen bundle zsh-users/zsh-completions
antigen bundle MichaelAquilina/zsh-you-should-use
antigen bundle unixorn/autoupdate-antigen.zshplugin
antigen bundle Sparragus/zsh-auto-nvm-use
# antigen bundle git-auto-fetch
hash php 2>/dev/null && antigen bundle php
hash nvm 2>/dev/null && antigen bundle nvm
hash docker 2>/dev/null && antigen bundle docker
hash ruby 2>/dev/null && antigen bundle ruby
hash nvm 2>/dev/null && antigen bundle Sparragus/zsh-auto-nvm-use
hash python 2>/dev/null && antigen bundle MichaelAquilina/zsh-autoswitch-virtualenv
hash jq 2>/dev/null && antigen bundle reegnz/jq-zsh-plugin
hash docker-compose 2>/dev/null && antigen bundle sroze/docker-compose-zsh-plugin