updated nvim config
This commit is contained in:
parent
ec1a6cd00f
commit
26b5d14b47
12 changed files with 68 additions and 22 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
*.log
|
||||||
|
nvim/lazy-lock.json
|
||||||
17
Dockerfile
17
Dockerfile
|
|
@ -30,6 +30,7 @@ RUN apt-get update \
|
||||||
byobu \
|
byobu \
|
||||||
ros-${ROS_DISTR}-rqt-tf-tree \
|
ros-${ROS_DISTR}-rqt-tf-tree \
|
||||||
ros-${ROS_DISTR}-apriltag \
|
ros-${ROS_DISTR}-apriltag \
|
||||||
|
ros-${ROS_DISTR}-plotjuggler-ros \
|
||||||
clang-format \
|
clang-format \
|
||||||
xclip \
|
xclip \
|
||||||
# neovim build depends \
|
# neovim build depends \
|
||||||
|
|
@ -41,8 +42,11 @@ RUN apt-get update \
|
||||||
# end neovim build depends \
|
# end neovim build depends \
|
||||||
# && rosdep install --from-paths /ros2_underlay/src -y --ignore-src \
|
# && rosdep install --from-paths /ros2_underlay/src -y --ignore-src \
|
||||||
# && rosdep install --from paths /ros2/src -y --ignore-src \
|
# && rosdep install --from paths /ros2/src -y --ignore-src \
|
||||||
&& curl -sL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh \
|
&& mkdir -p /etc/apt/keyrings \
|
||||||
&& bash nodesource_setup.sh \
|
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
|
||||||
|
&& NODE_MAJOR=20 \
|
||||||
|
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
|
||||||
|
&& apt update \
|
||||||
&& apt-get remove nodejs \
|
&& apt-get remove nodejs \
|
||||||
&& apt-get install nodejs \
|
&& apt-get install nodejs \
|
||||||
&& git clone https://github.com/neovim/neovim.git \
|
&& git clone https://github.com/neovim/neovim.git \
|
||||||
|
|
@ -85,13 +89,16 @@ RUN mkdir /zsh_history \
|
||||||
&& chown -R $USERNAME /zsh_history
|
&& chown -R $USERNAME /zsh_history
|
||||||
ADD ros2-vim/nvim /home/$USERNAME/.config/nvim
|
ADD ros2-vim/nvim /home/$USERNAME/.config/nvim
|
||||||
RUN chown -R $USERNAME /home/$USERNAME/
|
RUN chown -R $USERNAME /home/$USERNAME/
|
||||||
ADD ros2-vim/entrypoint.sh /entrypoint.sh
|
|
||||||
RUN chmod +x /entrypoint.sh
|
|
||||||
RUN chown $USERNAME /entrypoint.sh
|
|
||||||
USER ${USERNAME}
|
USER ${USERNAME}
|
||||||
RUN nvim --headless "+Lazy! sync" +qa
|
RUN nvim --headless "+Lazy! sync" +qa
|
||||||
RUN nvim --headless +"MasonInstall lua-language-server clangd python-lsp-server yaml-language-server" +q
|
RUN nvim --headless +"MasonInstall lua-language-server clangd python-lsp-server yaml-language-server" +q
|
||||||
WORKDIR /home/$USERNAME
|
WORKDIR /home/$USERNAME
|
||||||
|
|
||||||
|
USER root
|
||||||
|
ADD ros2-vim/entrypoint.sh /entrypoint.sh
|
||||||
|
RUN chmod +x /entrypoint.sh
|
||||||
|
RUN chown $USERNAME /entrypoint.sh
|
||||||
|
USER ${USERNAME}
|
||||||
# Switch back to dialog for any ad-hoc use of apt-get
|
# Switch back to dialog for any ad-hoc use of apt-get
|
||||||
ENV DEBIAN_FRONTEND=dialog
|
ENV DEBIAN_FRONTEND=dialog
|
||||||
CMD [ "/usr/bin/zsh"]
|
CMD [ "/usr/bin/zsh"]
|
||||||
|
|
|
||||||
3
build
Executable file
3
build
Executable file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
docker compose build
|
||||||
|
|
@ -37,7 +37,11 @@ services:
|
||||||
- type: bind
|
- type: bind
|
||||||
source: /var/run/avahi-daemon/socket
|
source: /var/run/avahi-daemon/socket
|
||||||
target: /var/run/avahi-daemon/socket
|
target: /var/run/avahi-daemon/socket
|
||||||
|
- type: bind
|
||||||
|
source: ${HOME}/Documents/ros2-vim/nvim
|
||||||
|
target: /home/ros-user/.config/nvim
|
||||||
- "ros2_zsh_history:/zsh_history"
|
- "ros2_zsh_history:/zsh_history"
|
||||||
|
- nvim_data:/home/ros-user/.local/share/nvim
|
||||||
- $SSH_AUTH_SOCK:/ssh-agent
|
- $SSH_AUTH_SOCK:/ssh-agent
|
||||||
- "~/.gitconfig:/etc/gitconfig"
|
- "~/.gitconfig:/etc/gitconfig"
|
||||||
|
|
||||||
|
|
@ -49,6 +53,8 @@ services:
|
||||||
- SSH_AUTH_SOCK=/ssh-agent
|
- SSH_AUTH_SOCK=/ssh-agent
|
||||||
- TERM=xterm-256color
|
- TERM=xterm-256color
|
||||||
- COLORTERM=24bit
|
- COLORTERM=24bit
|
||||||
|
- ROS_DOMAIN_ID=29
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
ros2_zsh_history:
|
ros2_zsh_history:
|
||||||
|
nvim_data:
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ echo "alias build_underlay=\"env -i HOME=\$HOME USER=\$USER TERM=xterm-256color
|
||||||
|
|
||||||
echo 'source $HOME/uuv/ros2_underlay/install/setup.zsh' >> ~/.zshrc
|
echo 'source $HOME/uuv/ros2_underlay/install/setup.zsh' >> ~/.zshrc
|
||||||
echo 'source $HOME/uuv/ros2/install/local_setup.zsh' >> ~/.zshrc
|
echo 'source $HOME/uuv/ros2/install/local_setup.zsh' >> ~/.zshrc
|
||||||
|
echo 'export RCUTILS_COLORIZED_OUTPUT=1' >> ~/.zshrc
|
||||||
echo 'eval "$(register-python-argcomplete3 ros2)"' >> ~/.zshrc
|
echo 'eval "$(register-python-argcomplete3 ros2)"' >> ~/.zshrc
|
||||||
echo 'eval "$(register-python-argcomplete3 colcon)"' >> ~/.zshrc
|
echo 'eval "$(register-python-argcomplete3 colcon)"' >> ~/.zshrc
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
local mark = require('harpoon.mark')
|
local mark = require('harpoon.mark')
|
||||||
local ui = require('harpoon.ui')
|
local ui = require('harpoon.ui')
|
||||||
|
local cmd_ui = require('harpoon.cmd-ui')
|
||||||
|
local term = require('harpoon.term')
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>a', mark.add_file)
|
vim.keymap.set('n', '<leader>a', mark.add_file)
|
||||||
vim.keymap.set('n', '<C-e>', ui.toggle_quick_menu)
|
vim.keymap.set('n', '<C-e>', ui.toggle_quick_menu)
|
||||||
|
|
@ -8,3 +10,7 @@ vim.keymap.set('n', '<C-h>', function() ui.nav_file(1) end)
|
||||||
vim.keymap.set('n', '<C-t>', function() ui.nav_file(2) end)
|
vim.keymap.set('n', '<C-t>', function() ui.nav_file(2) end)
|
||||||
vim.keymap.set('n', '<C-n>', function() ui.nav_file(3) end)
|
vim.keymap.set('n', '<C-n>', function() ui.nav_file(3) end)
|
||||||
vim.keymap.set('n', '<C-s>', function() ui.nav_file(4) end)
|
vim.keymap.set('n', '<C-s>', function() ui.nav_file(4) end)
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<leader>c', cmd_ui.toggle_quick_menu)
|
||||||
|
vim.keymap.set('n', '<leader>gt1', function() term.gotoTerminal(1) end)
|
||||||
|
vim.keymap.set('n', '<leader>br', function() term.sendCommand(1, 'build_ros') end)
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,16 @@ require('mason-lspconfig').setup {
|
||||||
'lua_ls', 'clangd', 'pylsp', 'yamlls'
|
'lua_ls', 'clangd', 'pylsp', 'yamlls'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
local lsp = require('lsp-zero').preset({})
|
local lsp = require('lsp-zero').preset({
|
||||||
|
manage_nvim_cmp = {
|
||||||
|
set_sources = 'lsp',
|
||||||
|
set_basic_mappings = true,
|
||||||
|
set_extra_mappings = false,
|
||||||
|
use_luasnip = true,
|
||||||
|
set_format = true,
|
||||||
|
documentation_window = true,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
lsp.on_attach(function(client, bufnr)
|
lsp.on_attach(function(client, bufnr)
|
||||||
lsp.default_keymaps({ buffer = bufnr })
|
lsp.default_keymaps({ buffer = bufnr })
|
||||||
|
|
@ -32,6 +41,7 @@ cmp.setup({
|
||||||
['<C-space>'] = cmp.mapping.complete(),
|
['<C-space>'] = cmp.mapping.complete(),
|
||||||
['<C-j>'] = cmp.mapping.scroll_docs(1),
|
['<C-j>'] = cmp.mapping.scroll_docs(1),
|
||||||
['<C-k>'] = cmp.mapping.scroll_docs(-1),
|
['<C-k>'] = cmp.mapping.scroll_docs(-1),
|
||||||
|
['<CR>'] = cmp.mapping.confirm({ select = false }),
|
||||||
},
|
},
|
||||||
window = {
|
window = {
|
||||||
completion = cmp.config.window.bordered(),
|
completion = cmp.config.window.bordered(),
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,19 @@
|
||||||
{
|
{
|
||||||
"LuaSnip": { "branch": "master", "commit": "c4d6298347f7707e9757351b2ee03d0c00da5c20" },
|
"LuaSnip": { "branch": "master", "commit": "ea7d7ea510c641c4f15042becd27f35b3e5b3c2b" },
|
||||||
|
"catppuccin": { "branch": "main", "commit": "2e3e5ebcdc24ef0d5b14a0a999dbbe7936512c46" },
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "749267aaa863c30d721c9913699c5d94e0c07dd3" },
|
"fugitive": { "branch": "master", "commit": "572c8510123cbde02e8a1dafcd376c98e1e13f43" },
|
||||||
|
"gitsigns.nvim": { "branch": "main", "commit": "44adf808ace6cb65a3353bd61fa585a2d8fe0db3" },
|
||||||
"harpoon": { "branch": "master", "commit": "21f4c47c6803d64ddb934a5b314dcb1b8e7365dc" },
|
"harpoon": { "branch": "master", "commit": "21f4c47c6803d64ddb934a5b314dcb1b8e7365dc" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "dac844ed617dda4f9ec85eb88e9629ad2add5e05" },
|
"lazy.nvim": { "branch": "main", "commit": "2a9354c7d2368d78cbd5575a51a2af5bd8a6ad01" },
|
||||||
"lsp-zero.nvim": { "branch": "v2.x", "commit": "f084f4a6a716f55bf9c4026e73027bb24a0325a3" },
|
"lsp-zero.nvim": { "branch": "v2.x", "commit": "f084f4a6a716f55bf9c4026e73027bb24a0325a3" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "2997f467881ac4faa6f8c5e7065e3a672297c8ad" },
|
"lsp_signature.nvim": { "branch": "master", "commit": "58d4e810801da74c29313da86075d6aea537501f" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "a51c2d063c5377ee9e58c5f9cda7c7436787be72" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "dfdd771b792fbb4bad8e057d72558255695aa1a7" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "51f1e11a89ec701221877532ee1a23557d291dd5" },
|
"mason.nvim": { "branch": "main", "commit": "0942198fb9a998b6ccee36fb8dd7495eb8ba659c" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "f7922e59aeb9bc3e31a660ea4e7405ffa3fc2c3a" },
|
"nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "99eef501a3d9128c15440296850b5bb178d6d560" },
|
"nvim-lspconfig": { "branch": "master", "commit": "a27356f1ef9c11e1f459cc96a3fcac5c265e72d6" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "267282a9ce242bbb0c5dc31445b6d353bed978bb" },
|
"nvim-treesitter": { "branch": "master", "commit": "f8c2825220bff70919b527ee68fe44e7b1dae4b2" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "0dbe561ae023f02c2fb772b879e905055b939ce3" },
|
||||||
"rose-pine": { "branch": "main", "commit": "e29002cbee4854a9c8c4b148d8a52fae3176070f" },
|
"rose-pine": { "branch": "main", "commit": "e29002cbee4854a9c8c4b148d8a52fae3176070f" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "2d92125620417fbea82ec30303823e3cd69e90e8" }
|
"telescope.nvim": { "branch": "master", "commit": "2c1ed33a6f6f2db3b69f5421f6b405eda1b07748" }
|
||||||
}
|
}
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
require('lennartalff.remap')
|
require('lennartalff.remap')
|
||||||
require('lennartalff.set')
|
require('lennartalff.set')
|
||||||
vim.cmd('colorscheme rose-pine')
|
-- vim.cmd('colorscheme rose-pine')
|
||||||
|
vim.o.termguicolors = true
|
||||||
|
vim.cmd.colorscheme 'catppuccin-frappe'
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ vim.keymap.set('n', '<leader>f', function()
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- quickfix navigation
|
-- quickfix navigation
|
||||||
vim.keymap.set('n', '<C-k>', '<cmd>cnext<CR>zz')
|
vim.keymap.set('n', '<C-j>', '<cmd>cnext<CR>zz')
|
||||||
vim.keymap.set('n', '<C-j>', '<cmd>cprev<CR>zz')
|
vim.keymap.set('n', '<C-k>', '<cmd>cprev<CR>zz')
|
||||||
vim.keymap.set('n', '<leader>k', '<cmd>lnext<CR>zz')
|
vim.keymap.set('n', '<leader>j', '<cmd>lnext<CR>zz')
|
||||||
vim.keymap.set('n', '<leader>j', '<cmd>lprev<CR>zz')
|
vim.keymap.set('n', '<leader>k', '<cmd>lprev<CR>zz')
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,8 @@ return {
|
||||||
{ 'nvim-lua/plenary.nvim' } }
|
{ 'nvim-lua/plenary.nvim' } }
|
||||||
},
|
},
|
||||||
{ 'rose-pine/neovim', name = 'rose-pine' },
|
{ 'rose-pine/neovim', name = 'rose-pine' },
|
||||||
-- 'tpope/fugitive',
|
{ 'catppuccin/nvim', name = 'catppuccin', priority = 1000 },
|
||||||
|
{ 'tpope/vim-fugitive', name = 'fugitive' },
|
||||||
{
|
{
|
||||||
'VonHeikemen/lsp-zero.nvim',
|
'VonHeikemen/lsp-zero.nvim',
|
||||||
branch = 'v2.x',
|
branch = 'v2.x',
|
||||||
|
|
@ -29,5 +30,7 @@ return {
|
||||||
{ 'nvim-lua/plenary.nvim' },
|
{ 'nvim-lua/plenary.nvim' },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{ 'ray-x/lsp_signature.nvim', event = 'VeryLazy', opts = {},
|
||||||
|
config = function(_, opts) require('lsp_signature').setup(opts) end },
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
3
run
Executable file
3
run
Executable file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
docker compose run --rm --name ros2-vim dev
|
||||||
Loading…
Reference in a new issue