Merge branch 'dev' into venus
nvim: display packer in a floating window change telescope comment in packer.lua actually use fzf in telescope add telescope-file-browser extension add descriptions to mappings remaps telescope functionnalities add telescope.help_tags mapping use <leader> to switch colorscheme remove icons from completion use textobjects with treesitter system: export PATH in the right place
This commit is contained in:
commit
8c29c45967
|
@ -3,33 +3,78 @@
|
|||
-- License : GPLv3
|
||||
-- Description : neovim mappings file
|
||||
|
||||
vim.keymap.set({ "n", "v" }, "<space>", "<Nop>", { silent = true })
|
||||
vim.keymap.set({ "n", "v" }, "<space>",
|
||||
"<Nop>",
|
||||
{
|
||||
silent = true,
|
||||
desc = "leader key"
|
||||
})
|
||||
vim.g.mapleader = " "
|
||||
|
||||
-- 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 })
|
||||
vim.keymap.set("n", "k",
|
||||
"v:count == 0 ? 'gk' : 'k'",
|
||||
{
|
||||
expr = true,
|
||||
silent = true,
|
||||
desc = "Smart up motion"
|
||||
})
|
||||
vim.keymap.set("n", "j",
|
||||
"v:count == 0 ? 'gj' : 'j'",
|
||||
{
|
||||
expr = true,
|
||||
silent = true,
|
||||
desc = "Smart down motion"
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<leader>y", "\"+y")
|
||||
vim.keymap.set("n", "<leader>p", "\"+P")
|
||||
vim.keymap.set("n", "<leader><enter>", "<cmd>w! | !compiler %<CR>")
|
||||
vim.keymap.set("n", "<leader>u", function() require("packer").sync() end)
|
||||
vim.keymap.set("n", "<leader>y",
|
||||
"\"+y",
|
||||
{ desc = "Yank to clipboard"}
|
||||
)
|
||||
vim.keymap.set("n", "<leader>p",
|
||||
"\"+P",
|
||||
{ desc = "Copy from clipboard"}
|
||||
)
|
||||
vim.keymap.set("n", "<leader><enter>",
|
||||
"<cmd>w! | !compiler %<CR>",
|
||||
{ desc = "Compile current file using ~/.local/bin/compiler"}
|
||||
)
|
||||
vim.keymap.set("n", "<leader>u",
|
||||
function() require("packer").sync() end,
|
||||
{ desc = "Sync packer config and update plugins"}
|
||||
)
|
||||
|
||||
-- telescope
|
||||
vim.keymap.set("n", "<leader>tf",
|
||||
function() require("telescope.builtin").find_files() end)
|
||||
function() require("telescope.builtin").find_files() end,
|
||||
{ desc = "Fuzzy find files" }
|
||||
)
|
||||
vim.keymap.set("n", "<leader>tb",
|
||||
function() require("telescope.builtin").buffers() end)
|
||||
function() require("telescope").extensions.file_browser.file_browser() end,
|
||||
{ desc = "Open file browser" }
|
||||
)
|
||||
vim.keymap.set("n", "<leader>t/",
|
||||
function() require("telescope.builtin").buffers() end,
|
||||
{ desc = "Grep through buffers" }
|
||||
)
|
||||
vim.keymap.set("n", "<leader>tg",
|
||||
function() require("telescope.builtin").grep_string() end)
|
||||
function() require("telescope.builtin").grep_string() end,
|
||||
{ desc = "Grep current word" }
|
||||
)
|
||||
vim.keymap.set("n", "<leader>th",
|
||||
function() require("telescope.builtin").help_tags() end,
|
||||
{ desc = "Search through help" }
|
||||
)
|
||||
vim.keymap.set("n", "<leader>tl",
|
||||
function() require("telescope.builtin").live_grep() end)
|
||||
function() require("telescope.builtin").live_grep() end,
|
||||
{ desc = "Grep interactively" }
|
||||
)
|
||||
|
||||
-- colorscheme
|
||||
vim.keymap.set("n", "<C-s>",
|
||||
function() require("astronomy").toggle_variant() end)
|
||||
vim.keymap.set("n", "<leader>s",
|
||||
function() require("astronomy").toggle_variant() end,
|
||||
{ desc = "Switch between dark and light colorscheme" }
|
||||
)
|
||||
|
||||
-- snippets
|
||||
vim.keymap.set({ "i", "s" }, "<C-E>", "<Plug>luasnip-next-choice")
|
||||
|
|
|
@ -18,33 +18,7 @@ end
|
|||
cmp.event:on( 'confirm_done', cmp_autopairs.on_confirm_done({ map_char = { tex = '' } }))
|
||||
|
||||
-- Custom item icons
|
||||
local icons = {
|
||||
Class = "",
|
||||
Color = "",
|
||||
Constant = "µ",
|
||||
Constructor = "",
|
||||
Enum = "",
|
||||
EnumMember = "",
|
||||
Event = "",
|
||||
Field = "",
|
||||
File = "",
|
||||
Folder = "",
|
||||
Function = "",
|
||||
Keyword = "",
|
||||
Interface = "",
|
||||
Method = "",
|
||||
Module = "",
|
||||
Operator = "",
|
||||
Property = "",
|
||||
Reference = "",
|
||||
Snippet = "",
|
||||
Struct = "",
|
||||
Text = "",
|
||||
TypeParameter = "",
|
||||
Unit = "",
|
||||
Value = "",
|
||||
Variable = "",
|
||||
}
|
||||
local icons = { }
|
||||
|
||||
cmp.setup {
|
||||
completion = {
|
||||
|
@ -62,8 +36,6 @@ cmp.setup {
|
|||
},
|
||||
formatting = {
|
||||
format = function(entry, vim_item)
|
||||
vim_item.kind = string.format("%s %s", icons[vim_item.kind],
|
||||
vim_item.kind)
|
||||
vim_item.menu = ({
|
||||
nvim_lsp = "[lsp]",
|
||||
nvim_lua = "[nvim]",
|
||||
|
|
|
@ -29,6 +29,9 @@ packer.init({
|
|||
removed_sym = '- ', -- The symbol for an unused plugin which was removed
|
||||
moved_sym = '→ ', -- The symbol for a plugin which was moved (e.g. from opt to start)
|
||||
header_sym = '━ ', -- The symbol for the header line in packer's display
|
||||
open_fn = function()
|
||||
return require('packer.util').float({ border = "single" })
|
||||
end, -- Display in a floating window
|
||||
},
|
||||
})
|
||||
|
||||
|
@ -51,7 +54,12 @@ return require("packer").startup(function()
|
|||
config = function() require("plugin.treesitter") end
|
||||
}
|
||||
|
||||
-- fuzzy finder
|
||||
use { -- Additional text objects via treesitter
|
||||
'nvim-treesitter/nvim-treesitter-textobjects',
|
||||
after = 'nvim-treesitter',
|
||||
}
|
||||
|
||||
-- telescope
|
||||
use {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
requires = {
|
||||
|
@ -61,8 +69,16 @@ return require("packer").startup(function()
|
|||
{
|
||||
"nvim-telescope/telescope-fzf-native.nvim",
|
||||
run = "make"
|
||||
},
|
||||
{
|
||||
"nvim-telescope/telescope-file-browser.nvim",
|
||||
}
|
||||
},
|
||||
config = function()
|
||||
require("telescope")
|
||||
require("telescope").load_extension("fzf")
|
||||
require("telescope").load_extension("file_browser")
|
||||
end
|
||||
}
|
||||
|
||||
-- LSP
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
-- Author : swytch
|
||||
-- Created : Monday Dec. 26, 2022 18:39:16 CET
|
||||
-- License : GPLv3
|
||||
-- Description : treesitter config file
|
||||
|
||||
require("telescope").setup {
|
||||
extensions = {
|
||||
file_browser = {
|
||||
theme = "ivy",
|
||||
-- disables netrw and use telescope-file-browser in its place
|
||||
hijack_netrw = true,
|
||||
mappings = {
|
||||
["i"] = {
|
||||
-- your custom insert mode mappings
|
||||
},
|
||||
["n"] = {
|
||||
-- your custom normal mode mappings
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
|
@ -4,12 +4,112 @@
|
|||
-- Description : treesitter config file
|
||||
|
||||
require("nvim-treesitter.configs").setup {
|
||||
ensure_installed = { "c", "lua", "python", "rust", "bash" },
|
||||
ignore_install = { "javascript" },
|
||||
ensure_installed = { "c", "lua", "rust", "bash", "vim" },
|
||||
highlight = {
|
||||
enable = true,
|
||||
},
|
||||
indent = {
|
||||
enable = true,
|
||||
},
|
||||
incremental_selection = {
|
||||
enable = true,
|
||||
keymaps = {
|
||||
init_selection = "<C-Space>",
|
||||
node_incremental = "<C-Space>",
|
||||
scope_incremental = "<Tab>",
|
||||
node_decremental = "<BS>",
|
||||
},
|
||||
},
|
||||
textobjects = {
|
||||
select = {
|
||||
enable = true,
|
||||
lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim
|
||||
keymaps = {
|
||||
-- use the capture groups defined in textobjects.scm
|
||||
["ap"] = {
|
||||
query = "@parameter.outer",
|
||||
desc = "Select parameter region"
|
||||
},
|
||||
["ip"] = {
|
||||
query = "@parameter.inner",
|
||||
desc = "Select inner part of a parameter region"
|
||||
},
|
||||
["af"] = {
|
||||
query = "@function.outer",
|
||||
desc = "Select a function block"
|
||||
},
|
||||
["if"] = {
|
||||
query = "@function.inner",
|
||||
desc = "Select inner part of a function"
|
||||
},
|
||||
["ac"] = {
|
||||
query = "@class.outer",
|
||||
desc = "Select a class block"
|
||||
},
|
||||
["ic"] = {
|
||||
query = "@class.inner",
|
||||
desc = "Select inner part of a class"
|
||||
},
|
||||
},
|
||||
},
|
||||
move = {
|
||||
enable = true,
|
||||
set_jumps = true, -- whether to set jumps in the jumplist
|
||||
goto_next_start = {
|
||||
["]m"] = {
|
||||
query = "@function.outer",
|
||||
desc = "Jump to next function",
|
||||
},
|
||||
["])"] = {
|
||||
query = "@class.outer",
|
||||
desc = "Jump to next class",
|
||||
},
|
||||
},
|
||||
goto_next_end = {
|
||||
["]M"] = {
|
||||
query = "@function.outer",
|
||||
desc = "Jump after next function",
|
||||
},
|
||||
["]]"] = {
|
||||
query = "@class.outer",
|
||||
desc = "Jump after next class",
|
||||
},
|
||||
},
|
||||
goto_previous_start = {
|
||||
["[m"] = {
|
||||
query = "@function.outer",
|
||||
desc = "Jump to previous function",
|
||||
},
|
||||
["[)"] = {
|
||||
query = "@class.outer",
|
||||
desc = "Jump to previous class",
|
||||
},
|
||||
},
|
||||
goto_previous_end = {
|
||||
["[M"] = {
|
||||
query = "@function.outer",
|
||||
desc = "Jump after previous function",
|
||||
},
|
||||
["[]"] = {
|
||||
query = "@class.outer",
|
||||
desc = "Jump after previous class",
|
||||
},
|
||||
},
|
||||
},
|
||||
swap = {
|
||||
enable = true,
|
||||
swap_next = {
|
||||
["<leader>a"] = {
|
||||
query = "@parameter.inner",
|
||||
desc = "Swap with next parameter",
|
||||
},
|
||||
},
|
||||
swap_previous = {
|
||||
["<leader>A"] = {
|
||||
query = "@parameter.inner",
|
||||
desc = "Swap with previous parameter",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
#!/bin/zsh
|
||||
|
||||
# This file is sourced when launching a DM from startx/xinit
|
||||
# path
|
||||
export PATH="$(find $HOME/.local/bin -type d | tr '\n' ':' | sed 's/:$//'):$PATH"
|
||||
|
||||
# environment variables
|
||||
## path
|
||||
export PATH="$(find $HOME/.local/bin -type d | tr '\n' ':' | sed 's/:$//'):$PATH"
|
||||
|
||||
## custom paths
|
||||
export DOTFILES="$HOME/.dotfiles.git"
|
||||
export LATEX_RESOURCES="$HOME/documents/latex"
|
||||
|
|
Reference in New Issue