Compare commits
No commits in common. "511b60e1eac3f0cd880d685a2985fb6c6e5337aa" and "93316f6279f1f03b11fe7eaee2fb203723a66418" have entirely different histories.
511b60e1ea
...
93316f6279
18 changed files with 171 additions and 374 deletions
|
|
@ -112,7 +112,6 @@
|
||||||
|
|
||||||
- [Копия man page для bspwm с доп инфой](./modules/home-manager/wm/bspwm/bspwm.md)
|
- [Копия man page для bspwm с доп инфой](./modules/home-manager/wm/bspwm/bspwm.md)
|
||||||
- [Описание плагинов для mpv](./modules/home-manager/mpv/README.md)
|
- [Описание плагинов для mpv](./modules/home-manager/mpv/README.md)
|
||||||
- [NeoVim config](./nvim/README.md)
|
|
||||||
|
|
||||||
## Проблемы
|
## Проблемы
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -83,10 +83,10 @@
|
||||||
|
|
||||||
# gdk-pixbuf-query-loaders | grep avif
|
# gdk-pixbuf-query-loaders | grep avif
|
||||||
# ls /run/current-system/sw/lib/gdk-pixbuf-2.0/2.10.0/loaders/
|
# ls /run/current-system/sw/lib/gdk-pixbuf-2.0/2.10.0/loaders/
|
||||||
# gdk-pixbuf.modulePackages = with pkgs; [
|
gdk-pixbuf.modulePackages = with pkgs; [
|
||||||
# webp-pixbuf-loader
|
webp-pixbuf-loader
|
||||||
# libavif
|
libavif
|
||||||
# ];
|
];
|
||||||
|
|
||||||
steam = {
|
steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -210,9 +210,8 @@
|
||||||
wget
|
wget
|
||||||
curl
|
curl
|
||||||
git
|
git
|
||||||
xclip # Буфер обмена
|
xclip # Буфера обмена
|
||||||
ffmpeg_7 # Обработка видео. Нужен всегда и везде как зависимость
|
ffmpeg_7 # Обработка видео. Нужен всегда и везде как зависимость
|
||||||
# imlib2Full # Image manipulation library
|
|
||||||
imagemagick # Обработка изображений. Мб тоже нужен всегда
|
imagemagick # Обработка изображений. Мб тоже нужен всегда
|
||||||
vips # В 4 раза быстрее imagemagick?
|
vips # В 4 раза быстрее imagemagick?
|
||||||
tree # Структура файлов в терминале
|
tree # Структура файлов в терминале
|
||||||
|
|
@ -298,12 +297,13 @@
|
||||||
###################
|
###################
|
||||||
|
|
||||||
ranger # Terminal file manager
|
ranger # Terminal file manager
|
||||||
|
# nautilus # Gnome file manager
|
||||||
xfce.thunar # GUI file manager (допы выше в `programs` и `services`)
|
xfce.thunar # GUI file manager (допы выше в `programs` и `services`)
|
||||||
xfce.catfish # File searching (for Thunar)
|
xfce.catfish # File searching (for Thunar)
|
||||||
xfce.exo # Мб надо, чтоб терминал открывать в каталоге
|
xfce.exo # Мб надо, чтоб терминал открывать в каталоге
|
||||||
ffmpegthumbnailer # A lightweight video thumbnailer
|
ffmpegthumbnailer # A lightweight video thumbnailer
|
||||||
gnome-epub-thumbnailer # Thumbnailer for EPub and MOBI books
|
gnome-epub-thumbnailer # Thumbnailer for EPub and MOBI books
|
||||||
# nufraw-thumbnailer # Thumbnailer for .raw images from digital cameras
|
nufraw-thumbnailer # Thumbnailer for .raw images from digital cameras
|
||||||
# mcomix # Comic book reader and image viewer. Thumbnailer for .crb comicbook archives (требует mupdf, который крашит систему)
|
# mcomix # Comic book reader and image viewer. Thumbnailer for .crb comicbook archives (требует mupdf, который крашит систему)
|
||||||
f3d # Fast and minimalist 3D viewer using VTK. Thumbnailer for 3D files, including glTF, stl, step, ply, obj, fbx.
|
f3d # Fast and minimalist 3D viewer using VTK. Thumbnailer for 3D files, including glTF, stl, step, ply, obj, fbx.
|
||||||
openscad # 3D model previews (stl, off, dxf, scad, csg). Этот именно для ranger, но мб пригодится и в других местах
|
openscad # 3D model previews (stl, off, dxf, scad, csg). Этот именно для ranger, но мб пригодится и в других местах
|
||||||
|
|
@ -320,7 +320,7 @@
|
||||||
gdk-pixbuf.dev # Library for image loading and manipulation
|
gdk-pixbuf.dev # Library for image loading and manipulation
|
||||||
libwebp # .webp support
|
libwebp # .webp support
|
||||||
libavif # AVIF format support
|
libavif # AVIF format support
|
||||||
# libheif # HEIF format support
|
libheif # HEIF format support
|
||||||
libgsf # .odf support
|
libgsf # .odf support
|
||||||
libjxl # JPEG-XL format support
|
libjxl # JPEG-XL format support
|
||||||
libraw # RAW format support
|
libraw # RAW format support
|
||||||
|
|
|
||||||
127
nvim/README.md
127
nvim/README.md
|
|
@ -2,13 +2,6 @@
|
||||||
|
|
||||||
Тут будет лежать мой конфиг nvim. Я хочу, чтоб он был отдельно от nix конфигов, чтоб не надо было ничего ребилдить.
|
Тут будет лежать мой конфиг nvim. Я хочу, чтоб он был отдельно от nix конфигов, чтоб не надо было ничего ребилдить.
|
||||||
|
|
||||||
Для выбора варианта из автокомплита надо жать ctrl+y, а не enter. Это можно исправить в конфиге, но я решил оставить так, как советует разраб kickstart.nvim, потому что я часто был в ситуации, когда готовая ide даёт мне вариант, но он мне не нужен, я уже написал свой, и мне надо перейти на новую строку, я жму enter и получаю комплит, который мне не нужен, мне новая строка нужна была.
|
|
||||||
|
|
||||||
Вкладки как в vscode я решил не делать, тут есть более удобный инструмент для этого. Например два раза нажать пробел в нормал моде, откроется меню буферов, тоесть файлов, которые в данный момент открыты. Отображаются они в порядке последнего открытия. Ныне открытый файл там не отображается. Это аналог ctrl+tab в vscode. Можно легко и быстро переключаться между "вкладками". Если надо искать что-то среди файлов проекта, то можно нажать пробел sf, от слов search files. В целом пробел+s это поиск чего-то. Подсказки на экране скажут поиск чего будет происходить. Grep поиск это поиск по содержимому всех файлов проекта.
|
|
||||||
https://medium.com/@jogarcia/you-dont-need-tabs-in-neovim-c6ba5ee44e3e
|
|
||||||
|
|
||||||
Если будут проблемы с сессиями, то можно написать `:SessionDelete`. Для выхода из проекта лучше использовать `:qa`, а не `:q`, чтоб закрыть все буферы и не ломать сессии
|
|
||||||
|
|
||||||
Конфиг сделан для NixOS. Я не знаю работает ли он в других дистрибутивах.
|
Конфиг сделан для NixOS. Я не знаю работает ли он в других дистрибутивах.
|
||||||
|
|
||||||
Сайт с топами плагинов и тем - https://dotfyle.com/neovim/colorscheme/top
|
Сайт с топами плагинов и тем - https://dotfyle.com/neovim/colorscheme/top
|
||||||
|
|
@ -19,7 +12,7 @@ LSP list - https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.txt
|
||||||
|
|
||||||
> ⚠️ **Warning**: Некоторых lsp в mason не существует и их надо качать отдельно. Или они не работают в NixOS, если их качать через mason. Такие lsp я настроил отдельно и скачал как пакет. Из конфига mason я их удалил. **Не скачай случайно эти lsp через mason руками, когда они уже настроены как отдельный пакет**. Это же касается форматтеров и линтеров. Их я стараюсь качать как системный пакет, а не через mason.
|
> ⚠️ **Warning**: Некоторых lsp в mason не существует и их надо качать отдельно. Или они не работают в NixOS, если их качать через mason. Такие lsp я настроил отдельно и скачал как пакет. Из конфига mason я их удалил. **Не скачай случайно эти lsp через mason руками, когда они уже настроены как отдельный пакет**. Это же касается форматтеров и линтеров. Их я стараюсь качать как системный пакет, а не через mason.
|
||||||
|
|
||||||
> ⚠️ **Warning**: Я вообще перестал качать что либо через mason, используя его только как поиск разных инструментов для нужного мне языка. Так что лучше ничего не качать через него.
|
> ⚠️ **Warning**: Возможно в будущем я вообще перестану что либо качать через mason, используя его только как поиск разных инструментов для нужного мне языка. Так что лучше ничего не качать через него
|
||||||
|
|
||||||
## Установка
|
## Установка
|
||||||
На новом пк руками делаю симлинк в `~/.config/nvim`.
|
На новом пк руками делаю симлинк в `~/.config/nvim`.
|
||||||
|
|
@ -75,119 +68,15 @@ ln -s ~/nixos-private-dots/nvim ~/.config/nvim
|
||||||
|
|
||||||
### Мои бинды
|
### Мои бинды
|
||||||
|
|
||||||
Все бинды можно искать прям в neovim, если нажать `Space s k`, тоесть `S`earch `K`eymaps
|
|Бинд|Действие|
|
||||||
|
|-|-|
|
||||||
|
|1|2|
|
||||||
|
|
||||||
Я не помню откуда эти бинды, может они есть в стоке, а может нет, но они полезные.
|
### Были изначально в kickstart.nvim
|
||||||
|
|
||||||
| Bind | Description |
|
|
||||||
| -------------- | ---------------------------------- |
|
|
||||||
| `K` | Hover documentation |
|
|
||||||
| `ctrl+o` | Go back |
|
|
||||||
| `ctrl+i` | Go forward (if you went backwards) |
|
|
||||||
| `p` | Paste from nvim register |
|
|
||||||
| `ctrl+shift+v` | Paste from system clipboard |
|
|
||||||
| `y` | Yank(copy) to nvim register |
|
|
||||||
| `space y` | Yank(copy) to system clipboard |
|
|
||||||
| `d` | Delete(copy) to nvim register |
|
|
||||||
| `space d` | Delete(copy) to system clipboard |
|
|
||||||
|
|
||||||
Бинды в таблице ниже нажимаются без пробела перед ними. Просто бинд
|
|
||||||
|
|
||||||
| Bind | Description | File |
|
|
||||||
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
|
|
||||||
| <nobr>`esc esc`</nobr> | Exit terminal mode (This won't work in all terminal emulators/tmux/etc. Try your own mapping or use `<C-\><C-n>` to exit terminal mode) | settings.lua |
|
|
||||||
| `esc` | Creal highlights on search when pressing Esc in normal mode | settings.lua |
|
|
||||||
| `gp` | `G`oto context (`p`arent) | treesitter.lua |
|
|
||||||
| `gd` | `G`oto `D`efinition | lsp.lua |
|
|
||||||
| `gr` | `G`oto `R`eferences | lsp.lua |
|
|
||||||
| `gI` | `G`oto `I`mplementation | lsp.lua |
|
|
||||||
| `gD` | `G`oto `D`eclaration. This is not Goto Definition, this is Goto Declaration. For example, in C this would take you to the header | lsp.lua |
|
|
||||||
| `gc` | Toggle Comment from mini-comment plugin | - |
|
|
||||||
| `\` | Toggle file tree | file-tree.lua |
|
|
||||||
|
|
||||||
Перед каждым из биндов в нижней таблице надо нажать `leader`, что есть `space`, пробел.
|
|
||||||
|
|
||||||
| Bind | Description | File |
|
|
||||||
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
|
|
||||||
| `tt` | `T`oggle `T`erminal | terminal.lua |
|
|
||||||
| `gta` | `G`o `T`ag `A`dd. Add json tags for struct | golang.lua |
|
|
||||||
| `gtr` | `G`o `T`ag `R`emove. Remove json tags for struct | golang.lua |
|
|
||||||
| `gfs` | `G`o `F`ill `S`truct | golang.lua |
|
|
||||||
| `gfc` | `G`o `F`ill Switch `C`ase | golang.lua |
|
|
||||||
| `gie` | `G`o `I`f `E`rr | golang.lua |
|
|
||||||
| `gfp` | `G`o `F`ix `P`lurals | golang.lua |
|
|
||||||
| `D` | Type `D`efinition. Jump to the typo of the word under your cursor. Useful when you're not sure what type a variable is and you want to see the definition of its *type*, not where it was *defined*. | lsp.lua |
|
|
||||||
| `ds` | `D`ocument `S`ymbols. Fuzzy find all the symbols in your current document. Symbols are things like variables, funckions, types, etc. | lsp.lua |
|
|
||||||
| `ws` | `W`orkspace `S`ymbols. Fuzzy find all the symbols in your currend workspace. Similar to document symbols, except searches over you entire project | lsp.lua |
|
|
||||||
| `rn` | `R`e`n`ame. Rename the variable under your cursor. Most Language Servers support renaming across files, etc. | lsp.lua |
|
|
||||||
| `ca` | `C`ode `A`ction. Execute a code action, usually your cursor needs to be on top of an error or a suggestion from your LSP for this to activate | lsp.lua |
|
|
||||||
| `sh` | `S`earch `H`elp | health.lua |
|
|
||||||
| `sk` | `S`earch `K`eymaps | health.lua |
|
|
||||||
| `sf` | `S`earch `F`iles | health.lua |
|
|
||||||
| `ss` | `S`earch `S`elect Telescope | health.lua |
|
|
||||||
| `sw` | `S`earch current `W`ord | health.lua |
|
|
||||||
| `sg` | `S`earch by `G`rep | health.lua |
|
|
||||||
| `sd` | `S`earch `D`iagnostics | health.lua |
|
|
||||||
| `sr` | `S`earch `R`esume | health.lua |
|
|
||||||
| `s.` | `S`earch Recent Files ("." for repeat) | health.lua |
|
|
||||||
| `space` | Find existing buffers. Аналог перелючения между вкладками | health.lua |
|
|
||||||
| `/` | Fuzzily search in current buffer | health.lua |
|
|
||||||
| `s/` | `S`earch `/` in Open Files. Live Grep in Open Files | health.lua |
|
|
||||||
| `sn` | `S`earch `N`eovim files. Shortcut for searching your Neovim configuration files | health.lua |
|
|
||||||
| `st` | `S`earch `T`hemes | health.lua |
|
|
||||||
| `q` | Open diagnostic `Q`uicfix list | settings.lua |
|
|
||||||
| `f` | `F`ormat buffer | autoformat.lua |
|
|
||||||
|
|
||||||
|
|
||||||
### Git
|
|
||||||
|
|
||||||
Бинды начинаются с буквы `h`. Типо "Git `H`unk"
|
|
||||||
|
|
||||||
Без пробела
|
|
||||||
|
|
||||||
| Bind | Description | File |
|
|
||||||
| ---- | ----------------------------- | ------------ |
|
|
||||||
| `]c` | Jump to next git `C`hange | gitsigns.lua |
|
|
||||||
| `[c` | Jump to previous git `C`hange | gitsigns.lua |
|
|
||||||
Visual mode. С пробелом
|
|
||||||
|
|
||||||
| Bind | Description | File |
|
|
||||||
| ---- | ---------------- | ------------ |
|
|
||||||
| `hs` | `S`tage git hunk | gitsigns.lua |
|
|
||||||
| `hr` | `R`eset git hunk | gitsigns.lua |
|
|
||||||
Normal mode. С пробелом
|
|
||||||
|
|
||||||
| Bind | Description | File |
|
|
||||||
| ---- | ------------------------------ | ------------ |
|
|
||||||
| `hs` | Git `S`tage hunk | gitsigns.lua |
|
|
||||||
| `hr` | Git `R`eset hunk | gitsigns.lua |
|
|
||||||
| `hS` | Git `S`tage buffer | gitsigns.lua |
|
|
||||||
| `hu` | Git `U`ndo stage hunk | gitsigns.lua |
|
|
||||||
| `hR` | Git `R`eset buffer | gitsigns.lua |
|
|
||||||
| `hp` | Git `P`review hunk | gitsigns.lua |
|
|
||||||
| `hb` | Git `B`lame line | gitsigns.lua |
|
|
||||||
| `hd` | Git `D`iff against index | gitsigns.lua |
|
|
||||||
| `hD` | Git `D`iff against last commit | gitsigns.lua |
|
|
||||||
| `td` | `T`oggle git show `B`lame line | gitsigns.lua |
|
|
||||||
| `tD` | `T`oggle git show `D`eleted | gitsigns.lua |
|
|
||||||
### Debug
|
|
||||||
|
|
||||||
Без пробела
|
|
||||||
|
|
||||||
| Bind | Description | File |
|
|
||||||
| ---- | ------------------------------ | --------- |
|
|
||||||
| `F5` | Debug: Start/Continue | debug.lua |
|
|
||||||
| `F1` | Debug: Step Into | debug.lua |
|
|
||||||
| `F2` | Debug: Step Over | debug.lua |
|
|
||||||
| `F3` | Debug: Step Out | debug.lua |
|
|
||||||
| `F7` | Debug: See last session rusult | debug.lua |
|
|
||||||
С пробелом
|
|
||||||
|
|
||||||
| Bind | Description | File |
|
|
||||||
| ---- | -------------------------- | --------- |
|
|
||||||
| `b` | Debug: Toggle `B`reakpoint | debug.lua |
|
|
||||||
| `B` | Debug: Set `B`reakpoint | debug.lua |
|
|
||||||
|
|
||||||
|
|Бинд|Действие|
|
||||||
|
|-|-|
|
||||||
|
|1|2|
|
||||||
|
|
||||||
## Нюансы работы LSP/Linter/Formatter
|
## Нюансы работы LSP/Linter/Formatter
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
-- [[ Базовые настройки. Не плагины ]]
|
-- [[ Базовые настройки. Не плагины ]]
|
||||||
require 'kickstart.settings'
|
require 'kickstart.settings'
|
||||||
require 'custom.terminal'
|
require 'custom.plugins.terminal'
|
||||||
|
|
||||||
-- [[ Install `lazy.nvim` plugin manager ]]
|
-- [[ Install `lazy.nvim` plugin manager ]]
|
||||||
-- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info
|
-- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info
|
||||||
|
|
@ -77,7 +77,7 @@ require('lazy').setup({
|
||||||
require 'kickstart.plugins.autopairs',
|
require 'kickstart.plugins.autopairs',
|
||||||
|
|
||||||
-- Browse the file system
|
-- Browse the file system
|
||||||
require 'kickstart.plugins.file-tree',
|
require 'kickstart.plugins.neo-tree',
|
||||||
|
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
-- Установил руками под свои нужды --
|
-- Установил руками под свои нужды --
|
||||||
|
|
@ -89,9 +89,6 @@ require('lazy').setup({
|
||||||
-- Feature-Rich Go Plugin for Neovim
|
-- Feature-Rich Go Plugin for Neovim
|
||||||
require 'custom.plugins.golang',
|
require 'custom.plugins.golang',
|
||||||
|
|
||||||
-- Automated session manager
|
|
||||||
require 'custom.plugins.sessions',
|
|
||||||
|
|
||||||
-- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
|
-- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
|
||||||
-- This is the easiest way to modularize your config.
|
-- This is the easiest way to modularize your config.
|
||||||
--
|
--
|
||||||
|
|
|
||||||
|
|
@ -1,50 +1,47 @@
|
||||||
{
|
{
|
||||||
"LuaSnip": { "branch": "master", "commit": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d" },
|
"LuaSnip": { "branch": "master", "commit": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d" },
|
||||||
"auto-session": { "branch": "main", "commit": "021b64ed7d4ac68a37be3ad28d8e1cba5bec582c" },
|
"catppuccin": { "branch": "main", "commit": "faf15ab0201b564b6368ffa47b56feefc92ce3f4" },
|
||||||
"catppuccin": { "branch": "main", "commit": "f67b886d65a029f12ffa298701fb8f1efd89295d" },
|
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
|
||||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "9180320205d250429f0f80e073326c674e2a7149" },
|
"conform.nvim": { "branch": "master", "commit": "f4e8837878fc5712d053ba3091a73d27d96a09e2" },
|
||||||
"edge": { "branch": "master", "commit": "12ff979b43e3660053e14cd65101d5928e56f422" },
|
"edge": { "branch": "master", "commit": "5b5a0683be0d9d8023a874ebf7e230095f4e1bae" },
|
||||||
"everforest": { "branch": "master", "commit": "730f9dd8ee698ad166d7abfca5dc06e90d4acf5b" },
|
"everforest": { "branch": "master", "commit": "44c2659ffb6d26a994346974b4d12e988f43e5e5" },
|
||||||
"fidget.nvim": { "branch": "main", "commit": "9238947645ce17d96f30842e61ba81147185b657" },
|
"fidget.nvim": { "branch": "main", "commit": "9238947645ce17d96f30842e61ba81147185b657" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
|
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" },
|
"gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" },
|
||||||
"go.nvim": { "branch": "master", "commit": "c6d5ca26377d01c4de1f7bff1cd62c8b43baa6bc" },
|
"go.nvim": { "branch": "master", "commit": "c6d5ca26377d01c4de1f7bff1cd62c8b43baa6bc" },
|
||||||
"gruvbox-material": { "branch": "master", "commit": "055aefde5fd49018f3a858bca7b529bc2e08c02b" },
|
"gruvbox-material": { "branch": "master", "commit": "fca2ff9ba627bbf172548eb52fcbb03f99ba34e9" },
|
||||||
"guihua.lua": { "branch": "master", "commit": "d783191eaa75215beae0c80319fcce5e6b3beeda" },
|
"guihua.lua": { "branch": "master", "commit": "d783191eaa75215beae0c80319fcce5e6b3beeda" },
|
||||||
"image.nvim": { "branch": "master", "commit": "b991fc7f845bc6ab40c6ec00b39750dcd5190010" },
|
"image.nvim": { "branch": "master", "commit": "b3e1af829a56bb038e5f81bf97798a2950064b62" },
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "259357fa4097e232730341fa60988087d189193a" },
|
"indent-blankline.nvim": { "branch": "master", "commit": "259357fa4097e232730341fa60988087d189193a" },
|
||||||
"kanagawa.nvim": { "branch": "master", "commit": "18ae5771b22d8f913ef541c827a8180b4cb12c8a" },
|
"kanagawa.nvim": { "branch": "master", "commit": "ad3dddecd606746374ba4807324a08331dfca23c" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
|
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "8620f82ee3f59ff2187647167b6b47387a13a018" },
|
"lazydev.nvim": { "branch": "main", "commit": "f59bd14a852ca43db38e3662395354cb2a9b13e0" },
|
||||||
"luvit-meta": { "branch": "main", "commit": "55709f183b0742a7e4f47688c284f81148ad4dc0" },
|
"luvit-meta": { "branch": "main", "commit": "57d464c4acb5c2e66bd4145060f5dc9e96a7bbb7" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "c6c686781f9841d855bf1b926e10aa5e19430a38" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "8e46de9241d3997927af12196bd8faa0ed08c29a" },
|
||||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" },
|
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" },
|
||||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "c5e07b8ff54187716334d585db34282e46fa2932" },
|
"mason-tool-installer.nvim": { "branch": "main", "commit": "c5e07b8ff54187716334d585db34282e46fa2932" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||||
"mini.nvim": { "branch": "main", "commit": "e91e854299429c986888711668743711acd8a14b" },
|
"mini.nvim": { "branch": "main", "commit": "7ebfab26d77a4b9b05aaae565907e7fa4b2ee154" },
|
||||||
"monokai-pro.nvim": { "branch": "master", "commit": "6c15e36834a624a32f46c6db8f9fc063995b24b6" },
|
"monokai-pro.nvim": { "branch": "master", "commit": "6c15e36834a624a32f46c6db8f9fc063995b24b6" },
|
||||||
"neo-tree.nvim": { "branch": "main", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" },
|
"neo-tree.nvim": { "branch": "main", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" },
|
||||||
"nightfox.nvim": { "branch": "main", "commit": "595ffb8f291fc4a9bef3201a28b7c0379a41cdee" },
|
"nightfox.nvim": { "branch": "main", "commit": "7557f26defd093c4e9bc17f28b08403f706f5a44" },
|
||||||
"nordic.nvim": { "branch": "main", "commit": "1ee4044077059b34eacd18d93613495a602c131f" },
|
"nordic.nvim": { "branch": "main", "commit": "1ee4044077059b34eacd18d93613495a602c131f" },
|
||||||
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
|
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" },
|
"nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "b555203ce4bd7ff6192e759af3362f9d217e8c89" },
|
"nvim-cmp": { "branch": "main", "commit": "3403e2e9391ed0a28c3afddd8612701b647c8e26" },
|
||||||
"nvim-dap": { "branch": "master", "commit": "0e673accbb512e1e191dfb4fecea89cc38c1bcdd" },
|
"nvim-dap": { "branch": "master", "commit": "567da83810dd9da32f9414d941bc6848715fc102" },
|
||||||
"nvim-dap-go": { "branch": "main", "commit": "6aa88167ea1224bcef578e8c7160fe8afbb44848" },
|
"nvim-dap-go": { "branch": "main", "commit": "6aa88167ea1224bcef578e8c7160fe8afbb44848" },
|
||||||
"nvim-dap-ui": { "branch": "master", "commit": "e94d98649dccb6a3884b66aabc2e07beb279e535" },
|
"nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" },
|
||||||
"nvim-lint": { "branch": "master", "commit": "1fea92f1d9908eaa5eb8bafe08b4293d7aadaa55" },
|
"nvim-lint": { "branch": "master", "commit": "6b46370d02cd001509a765591a3ffc481b538794" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "8b15a1a597a59f4f5306fad9adfe99454feab743" },
|
"nvim-lspconfig": { "branch": "master", "commit": "9f2c279cf9abe584f03bfeb37c6658d68e3ff49d" },
|
||||||
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "5f78e989243f9fb0fb55e0cf54820920d86dfd30" },
|
"nvim-treesitter": { "branch": "master", "commit": "3b8dee4293567b0b9a87360842af14669f60dd13" },
|
||||||
"nvim-treesitter-context": { "branch": "master", "commit": "2bcf700b59bc92850ca83a1c02e86ba832e0fae0" },
|
"nvim-web-devicons": { "branch": "master", "commit": "0eb18da56e2ba6ba24de7130a12bcc4e31ad11cb" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "4adeeaa7a32d46cf3b5833341358c797304f950a" },
|
|
||||||
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
|
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
|
||||||
"rose-pine": { "branch": "main", "commit": "91548dca53b36dbb9d36c10f114385f759731be1" },
|
"rose-pine": { "branch": "main", "commit": "91548dca53b36dbb9d36c10f114385f759731be1" },
|
||||||
"rustaceanvim": { "branch": "master", "commit": "6db1fe9e3f005b2e0921c7302d2c195eeb90a451" },
|
"rustaceanvim": { "branch": "master", "commit": "1933318b98940b3e98ccbcd2828ae88c1bce8494" },
|
||||||
"sonokai": { "branch": "master", "commit": "1d7ca954792dfddd9e73c53563d85adaeb8c8437" },
|
"sonokai": { "branch": "master", "commit": "fd42b20963c34dfc1744ac31f6a6efe78f4edad2" },
|
||||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
|
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
|
||||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||||
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||||
|
|
|
||||||
|
|
@ -2,23 +2,17 @@
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
'ray-x/go.nvim',
|
"ray-x/go.nvim",
|
||||||
dependencies = { -- optional packages
|
dependencies = { -- optional packages
|
||||||
'ray-x/guihua.lua',
|
"ray-x/guihua.lua",
|
||||||
'neovim/nvim-lspconfig',
|
"neovim/nvim-lspconfig",
|
||||||
'nvim-treesitter/nvim-treesitter',
|
"nvim-treesitter/nvim-treesitter",
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
require('go').setup()
|
require("go").setup()
|
||||||
vim.keymap.set({ 'n' }, '<leader>gta', ':GoAddTag<CR>', { desc = '[G]o [T]ag [A]dd' })
|
|
||||||
vim.keymap.set({ 'n' }, '<leader>gtr', ':GoRmTag<CR>', { desc = '[G]o [T]ag [R]emove' })
|
|
||||||
vim.keymap.set({ 'n' }, '<leader>gfs', ':GoFillStruct<CR>', { desc = '[G]o [F]ill [S]truct' })
|
|
||||||
vim.keymap.set({ 'n' }, '<leader>gfc', ':GoFillSwitch<CR>', { desc = '[G]o [F]ill Switch [C]ase' })
|
|
||||||
vim.keymap.set({ 'n' }, '<leader>gie', ':GoIfErr<CR>', { desc = '[G]o [I]f [E]rr' })
|
|
||||||
vim.keymap.set({ 'n' }, '<leader>gfp', ':GoFixPlurals<CR>', { desc = '[G]o [F]ix [P]lurals' })
|
|
||||||
end,
|
end,
|
||||||
event = { 'CmdlineEnter' },
|
event = {"CmdlineEnter"},
|
||||||
ft = { 'go', 'gomod' },
|
ft = {"go", 'gomod'},
|
||||||
-- build = ':lua require("go.install").update_all_sync()' -- if you need to install/update all binaries
|
-- build = ':lua require("go.install").update_all_sync()' -- if you need to install/update all binaries
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
-- A small automated session manager for Neovim
|
|
||||||
|
|
||||||
return {
|
|
||||||
{
|
|
||||||
'rmagatti/auto-session',
|
|
||||||
lazy = false,
|
|
||||||
|
|
||||||
---enables autocomplete for opts
|
|
||||||
---@module "auto-session"
|
|
||||||
---@type AutoSession.Config
|
|
||||||
opts = {
|
|
||||||
suppressed_dirs = { '~/', '~/Projects', '~/Downloads', '/' },
|
|
||||||
-- log_level = 'debug',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
58
nvim/lua/custom/plugins/terminal.lua
Normal file
58
nvim/lua/custom/plugins/terminal.lua
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
vim.keymap.set("t", "<esc><esc>", "<c-\\><c-n>")
|
||||||
|
|
||||||
|
local state = {
|
||||||
|
floating = {
|
||||||
|
buf = -1,
|
||||||
|
win = -1,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
local function create_floating_window(opts)
|
||||||
|
opts = opts or {}
|
||||||
|
local width = opts.width or math.floor(vim.o.columns * 0.8)
|
||||||
|
local height = opts.height or math.floor(vim.o.lines * 0.8)
|
||||||
|
|
||||||
|
-- Calculate the position to center the window
|
||||||
|
local col = math.floor((vim.o.columns - width) / 2)
|
||||||
|
local row = math.floor((vim.o.lines - height) / 2)
|
||||||
|
|
||||||
|
-- Create a buffer
|
||||||
|
local buf = nil
|
||||||
|
if vim.api.nvim_buf_is_valid(opts.buf) then
|
||||||
|
buf = opts.buf
|
||||||
|
else
|
||||||
|
buf = vim.api.nvim_create_buf(false, true) -- No file, scratch buffer
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Define window configuration
|
||||||
|
local win_config = {
|
||||||
|
relative = "editor",
|
||||||
|
width = width,
|
||||||
|
height = height,
|
||||||
|
col = col,
|
||||||
|
row = row,
|
||||||
|
style = "minimal", -- No borders or extra UI elements
|
||||||
|
border = "rounded",
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Create the floating window
|
||||||
|
local win = vim.api.nvim_open_win(buf, true, win_config)
|
||||||
|
|
||||||
|
return { buf = buf, win = win }
|
||||||
|
end
|
||||||
|
|
||||||
|
local toggle_terminal = function()
|
||||||
|
if not vim.api.nvim_win_is_valid(state.floating.win) then
|
||||||
|
state.floating = create_floating_window { buf = state.floating.buf }
|
||||||
|
if vim.bo[state.floating.buf].buftype ~= "terminal" then
|
||||||
|
vim.cmd.terminal()
|
||||||
|
end
|
||||||
|
else
|
||||||
|
vim.api.nvim_win_hide(state.floating.win)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Example usage:
|
||||||
|
-- Create a floating window with default dimensions
|
||||||
|
vim.api.nvim_create_user_command("Floaterminal", toggle_terminal, {})
|
||||||
|
vim.keymap.set({ "n", "t" }, "<leader>tt", toggle_terminal, { desc = '[T]oggle [T]erminal' })
|
||||||
|
|
@ -1,56 +0,0 @@
|
||||||
local state = {
|
|
||||||
floating = {
|
|
||||||
buf = -1,
|
|
||||||
win = -1,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
local function create_floating_window(opts)
|
|
||||||
opts = opts or {}
|
|
||||||
local width = opts.width or math.floor(vim.o.columns * 0.8)
|
|
||||||
local height = opts.height or math.floor(vim.o.lines * 0.8)
|
|
||||||
|
|
||||||
-- Calculate the position to center the window
|
|
||||||
local col = math.floor((vim.o.columns - width) / 2)
|
|
||||||
local row = math.floor((vim.o.lines - height) / 2)
|
|
||||||
|
|
||||||
-- Create a buffer
|
|
||||||
local buf = nil
|
|
||||||
if vim.api.nvim_buf_is_valid(opts.buf) then
|
|
||||||
buf = opts.buf
|
|
||||||
else
|
|
||||||
buf = vim.api.nvim_create_buf(false, true) -- No file, scratch buffer
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Define window configuration
|
|
||||||
local win_config = {
|
|
||||||
relative = 'editor',
|
|
||||||
width = width,
|
|
||||||
height = height,
|
|
||||||
col = col,
|
|
||||||
row = row,
|
|
||||||
style = 'minimal', -- No borders or extra UI elements
|
|
||||||
border = 'rounded',
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Create the floating window
|
|
||||||
local win = vim.api.nvim_open_win(buf, true, win_config)
|
|
||||||
|
|
||||||
return { buf = buf, win = win }
|
|
||||||
end
|
|
||||||
|
|
||||||
local toggle_terminal = function()
|
|
||||||
if not vim.api.nvim_win_is_valid(state.floating.win) then
|
|
||||||
state.floating = create_floating_window { buf = state.floating.buf }
|
|
||||||
if vim.bo[state.floating.buf].buftype ~= 'terminal' then
|
|
||||||
vim.cmd.terminal()
|
|
||||||
end
|
|
||||||
else
|
|
||||||
vim.api.nvim_win_hide(state.floating.win)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Example usage:
|
|
||||||
-- Create a floating window with default dimensions
|
|
||||||
vim.api.nvim_create_user_command('Floaterminal', toggle_terminal, {})
|
|
||||||
vim.keymap.set({ 'n', 't' }, '<leader>tt', toggle_terminal, { desc = '[T]oggle [T]erminal' })
|
|
||||||
|
|
@ -21,12 +21,12 @@ return {
|
||||||
-- `friendly-snippets` contains a variety of premade snippets.
|
-- `friendly-snippets` contains a variety of premade snippets.
|
||||||
-- See the README about individual language/framework/plugin snippets:
|
-- See the README about individual language/framework/plugin snippets:
|
||||||
-- https://github.com/rafamadriz/friendly-snippets
|
-- https://github.com/rafamadriz/friendly-snippets
|
||||||
{
|
-- {
|
||||||
'rafamadriz/friendly-snippets',
|
-- 'rafamadriz/friendly-snippets',
|
||||||
config = function()
|
-- config = function()
|
||||||
require('luasnip.loaders.from_vscode').lazy_load()
|
-- require('luasnip.loaders.from_vscode').lazy_load()
|
||||||
end,
|
-- end,
|
||||||
},
|
-- },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'saadparwaiz1/cmp_luasnip',
|
'saadparwaiz1/cmp_luasnip',
|
||||||
|
|
@ -44,7 +44,6 @@ return {
|
||||||
luasnip.config.setup {}
|
luasnip.config.setup {}
|
||||||
|
|
||||||
cmp.setup {
|
cmp.setup {
|
||||||
preselect = cmp.PreselectMode.None,
|
|
||||||
snippet = {
|
snippet = {
|
||||||
expand = function(args)
|
expand = function(args)
|
||||||
luasnip.lsp_expand(args.body)
|
luasnip.lsp_expand(args.body)
|
||||||
|
|
@ -57,39 +56,26 @@ return {
|
||||||
--
|
--
|
||||||
-- No, but seriously. Please read `:help ins-completion`, it is really good!
|
-- No, but seriously. Please read `:help ins-completion`, it is really good!
|
||||||
mapping = cmp.mapping.preset.insert {
|
mapping = cmp.mapping.preset.insert {
|
||||||
-- (enabled by default in nvim-cmp)
|
|
||||||
-- Select the [n]ext item
|
-- Select the [n]ext item
|
||||||
-- ['<C-n>'] = cmp.mapping.select_next_item(),
|
['<C-n>'] = cmp.mapping.select_next_item(),
|
||||||
-- Select the [p]revious item
|
-- Select the [p]revious item
|
||||||
-- ['<C-p>'] = cmp.mapping.select_prev_item(),
|
['<C-p>'] = cmp.mapping.select_prev_item(),
|
||||||
|
|
||||||
-- Accept ([y]es) the completion.
|
|
||||||
-- This will auto-import if your LSP supports it.
|
|
||||||
-- This will expand snippets if the LSP sent a snippet.
|
|
||||||
-- ['<C-y>'] = cmp.mapping.confirm { select = true },
|
|
||||||
|
|
||||||
-- If you prefer more traditional completion keymaps,
|
|
||||||
-- you can uncomment the following lines
|
|
||||||
-- ['<CR>'] = cmp.mapping.confirm { select = true },
|
|
||||||
['<Tab>'] = cmp.mapping.select_next_item(),
|
|
||||||
['<S-Tab>'] = cmp.mapping.select_prev_item(),
|
|
||||||
|
|
||||||
-- Allows Up arrow to fall back without interacting with cmp
|
|
||||||
['<Up>'] = cmp.mapping(function(fallback)
|
|
||||||
cmp.close()
|
|
||||||
fallback()
|
|
||||||
end, { 'i', 'c' }),
|
|
||||||
|
|
||||||
-- Allows Up arrow to fall back without interacting with cmp
|
|
||||||
['<Down>'] = cmp.mapping(function(fallback)
|
|
||||||
cmp.close()
|
|
||||||
fallback()
|
|
||||||
end, { 'i', 'c' }),
|
|
||||||
|
|
||||||
-- Scroll the documentation window [b]ack / [f]orward
|
-- Scroll the documentation window [b]ack / [f]orward
|
||||||
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||||
|
|
||||||
|
-- Accept ([y]es) the completion.
|
||||||
|
-- This will auto-import if your LSP supports it.
|
||||||
|
-- This will expand snippets if the LSP sent a snippet.
|
||||||
|
['<C-y>'] = cmp.mapping.confirm { select = true },
|
||||||
|
|
||||||
|
-- If you prefer more traditional completion keymaps,
|
||||||
|
-- you can uncomment the following lines
|
||||||
|
--['<CR>'] = cmp.mapping.confirm { select = true },
|
||||||
|
--['<Tab>'] = cmp.mapping.select_next_item(),
|
||||||
|
--['<S-Tab>'] = cmp.mapping.select_prev_item(),
|
||||||
|
|
||||||
-- Manually trigger a completion from nvim-cmp.
|
-- Manually trigger a completion from nvim-cmp.
|
||||||
-- Generally you don't need this, because nvim-cmp will display
|
-- Generally you don't need this, because nvim-cmp will display
|
||||||
-- completions whenever it has completion options available.
|
-- completions whenever it has completion options available.
|
||||||
|
|
|
||||||
|
|
@ -92,8 +92,7 @@ return {
|
||||||
|
|
||||||
-- Fuzzy find all the symbols in your current document.
|
-- Fuzzy find all the symbols in your current document.
|
||||||
-- Symbols are things like variables, functions, types, etc.
|
-- Symbols are things like variables, functions, types, etc.
|
||||||
-- Было <leader>ds [D]ocument [S]ymbols
|
map('<leader>ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols')
|
||||||
map('<leader>S', require('telescope.builtin').lsp_document_symbols, 'Document [S]ymbols')
|
|
||||||
|
|
||||||
-- Fuzzy find all the symbols in your current workspace.
|
-- Fuzzy find all the symbols in your current workspace.
|
||||||
-- Similar to document symbols, except searches over your entire project.
|
-- Similar to document symbols, except searches over your entire project.
|
||||||
|
|
@ -179,8 +178,7 @@ return {
|
||||||
-- - on_attach (func): Функция, которая вызывается, когда LSP подключается к буферу
|
-- - on_attach (func): Функция, которая вызывается, когда LSP подключается к буферу
|
||||||
-- - settings (table): Override the default settings passed when initializing the server.
|
-- - settings (table): Override the default settings passed when initializing the server.
|
||||||
-- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
|
-- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
|
||||||
local servers =
|
local servers = { -- WARN: Качает через mason. Может не работать в NixOS. Оставил для других OS на будущее
|
||||||
{ -- WARN: Качает через mason. Может не работать в NixOS. Оставил для других OS на будущее
|
|
||||||
-- See `:help lspconfig-all` for a list of all the pre-configured LSPs
|
-- See `:help lspconfig-all` for a list of all the pre-configured LSPs
|
||||||
--
|
--
|
||||||
-- Some languages (like typescript) have entire language plugins that can be useful:
|
-- Some languages (like typescript) have entire language plugins that can be useful:
|
||||||
|
|
@ -190,7 +188,7 @@ return {
|
||||||
-- taplo
|
-- taplo
|
||||||
}
|
}
|
||||||
|
|
||||||
local lspconfig = require 'lspconfig'
|
local lspconfig = require('lspconfig')
|
||||||
|
|
||||||
-- Nix
|
-- Nix
|
||||||
lspconfig.nixd.setup {}
|
lspconfig.nixd.setup {}
|
||||||
|
|
@ -233,6 +231,7 @@ return {
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
-- Lua
|
-- Lua
|
||||||
lspconfig.lua_ls.setup {
|
lspconfig.lua_ls.setup {
|
||||||
settings = {
|
settings = {
|
||||||
|
|
@ -283,6 +282,7 @@ return {
|
||||||
lspconfig.vimls.setup {}
|
lspconfig.vimls.setup {}
|
||||||
lspconfig.yamlls.setup {}
|
lspconfig.yamlls.setup {}
|
||||||
|
|
||||||
|
|
||||||
-- Ensure the servers and tools above are installed
|
-- Ensure the servers and tools above are installed
|
||||||
-- To check the current status of installed tools and/or manually install
|
-- To check the current status of installed tools and/or manually install
|
||||||
-- other tools, you can run
|
-- other tools, you can run
|
||||||
|
|
|
||||||
|
|
@ -10,11 +10,11 @@ return {
|
||||||
'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended
|
'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended
|
||||||
'MunifTanjim/nui.nvim',
|
'MunifTanjim/nui.nvim',
|
||||||
{ -- Optional image support in preview window: See `# Preview Mode` for more information
|
{ -- Optional image support in preview window: See `# Preview Mode` for more information
|
||||||
'3rd/image.nvim',
|
"3rd/image.nvim",
|
||||||
build = false, -- so that it doesn't build the rock
|
build = false, -- so that it doesn't build the rock
|
||||||
opts = {
|
opts = {
|
||||||
backend = 'ueberzug', -- or "kitty"
|
backend = "ueberzug", -- or "kitty"
|
||||||
processor = 'magick_cli', -- or "magick_rock"
|
processor = "magick_cli", -- or "magick_rock"
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -90,16 +90,13 @@ return {
|
||||||
vim.keymap.set('n', '<leader>sd', builtin.diagnostics, { desc = '[S]earch [D]iagnostics' })
|
vim.keymap.set('n', '<leader>sd', builtin.diagnostics, { desc = '[S]earch [D]iagnostics' })
|
||||||
vim.keymap.set('n', '<leader>sr', builtin.resume, { desc = '[S]earch [R]esume' })
|
vim.keymap.set('n', '<leader>sr', builtin.resume, { desc = '[S]earch [R]esume' })
|
||||||
vim.keymap.set('n', '<leader>s.', builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' })
|
vim.keymap.set('n', '<leader>s.', builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' })
|
||||||
vim.keymap.set('n', '<leader><leader>', function()
|
vim.keymap.set('n', '<leader><leader>', builtin.buffers, { desc = '[ ] Find existing buffers' })
|
||||||
builtin.buffers { sort_mru = true, ignore_current_buffer = true }
|
|
||||||
end, { desc = '[ ] Find etisting buffers' })
|
|
||||||
vim.keymap.set('n', '<leader>st', ':Telescope colorscheme<CR>', { desc = '[S]earch [T]hemes' })
|
|
||||||
|
|
||||||
-- Slightly advanced example of overriding default behavior and theme
|
-- Slightly advanced example of overriding default behavior and theme
|
||||||
vim.keymap.set('n', '<leader>/', function()
|
vim.keymap.set('n', '<leader>/', function()
|
||||||
-- You can pass additional configuration to Telescope to change the theme, layout, etc.
|
-- You can pass additional configuration to Telescope to change the theme, layout, etc.
|
||||||
builtin.current_buffer_fuzzy_find(require('telescope.themes').get_dropdown {
|
builtin.current_buffer_fuzzy_find(require('telescope.themes').get_dropdown {
|
||||||
-- winblend = 10,
|
winblend = 10,
|
||||||
previewer = false,
|
previewer = false,
|
||||||
})
|
})
|
||||||
end, { desc = '[/] Fuzzily search in current buffer' })
|
end, { desc = '[/] Fuzzily search in current buffer' })
|
||||||
|
|
|
||||||
|
|
@ -53,28 +53,5 @@ return {
|
||||||
-- - Show your current context: https://github.com/nvim-treesitter/nvim-treesitter-context
|
-- - Show your current context: https://github.com/nvim-treesitter/nvim-treesitter-context
|
||||||
-- - Treesitter + textobjects: https://github.com/nvim-treesitter/nvim-treesitter-textobjects
|
-- - Treesitter + textobjects: https://github.com/nvim-treesitter/nvim-treesitter-textobjects
|
||||||
},
|
},
|
||||||
{
|
|
||||||
'nvim-treesitter/nvim-treesitter-context',
|
|
||||||
dependencies = { 'nvim-treesitter/nvim-treesitter' },
|
|
||||||
config = function()
|
|
||||||
require('treesitter-context').setup {
|
|
||||||
enable = true, -- Enable this plugin (Can be enabled/disabled later via commands)
|
|
||||||
multiwindow = false, -- Enable multiwindow support.
|
|
||||||
max_lines = 0, -- How many lines the window should span. Values <= 0 mean no limit.
|
|
||||||
min_window_height = 0, -- Minimum editor window height to enable context. Values <= 0 mean no limit.
|
|
||||||
line_numbers = true,
|
|
||||||
multiline_threshold = 3, -- Maximum number of lines to show for a single context
|
|
||||||
trim_scope = 'outer', -- Which context lines to discard if `max_lines` is exceeded. Choices: 'inner', 'outer'
|
|
||||||
mode = 'cursor', -- Line used to calculate context. Choices: 'cursor', 'topline'
|
|
||||||
-- Separator between context and content. Should be a single character string, like '-'.
|
|
||||||
-- When separator is set, the context will only show up when there are at least 2 lines above cursorline.
|
|
||||||
separator = nil,
|
|
||||||
zindex = 20, -- The Z-index of the context window
|
|
||||||
on_attach = nil, -- (fun(buf: integer): boolean) return false to disable attaching
|
|
||||||
}
|
|
||||||
vim.keymap.set('n', 'gp', function()
|
|
||||||
require('treesitter-context').go_to_context(vim.v.count1)
|
|
||||||
end, { silent = true, desc = '[G]oto context ([P]arent)' })
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -60,13 +60,11 @@ return {
|
||||||
-- Document existing key chains
|
-- Document existing key chains
|
||||||
spec = {
|
spec = {
|
||||||
{ '<leader>c', group = '[C]ode', mode = { 'n', 'x' } },
|
{ '<leader>c', group = '[C]ode', mode = { 'n', 'x' } },
|
||||||
-- { '<leader>d', group = '[D]ocument' },
|
{ '<leader>d', group = '[D]ocument' },
|
||||||
{ '<leader>r', group = '[R]ename' },
|
{ '<leader>r', group = '[R]ename' },
|
||||||
{ '<leader>s', group = '[S]earch' },
|
{ '<leader>s', group = '[S]earch' },
|
||||||
{ '<leader>w', group = '[W]orkspace' },
|
{ '<leader>w', group = '[W]orkspace' },
|
||||||
{ '<leader>t', group = '[T]oggle' },
|
{ '<leader>t', group = '[T]oggle' },
|
||||||
{ '<leader>g', group = '[G]olang' },
|
|
||||||
{ '<leader>gt', group = '[G]olang [T]ag' },
|
|
||||||
{ '<leader>h', group = 'Git [H]unk', mode = { 'n', 'v' } },
|
{ '<leader>h', group = 'Git [H]unk', mode = { 'n', 'v' } },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -30,23 +30,9 @@ vim.opt.showmode = false
|
||||||
-- Schedule the setting after `UiEnter` because it can increase startup-time.
|
-- Schedule the setting after `UiEnter` because it can increase startup-time.
|
||||||
-- Remove this option if you want your OS clipboard to remain independent.
|
-- Remove this option if you want your OS clipboard to remain independent.
|
||||||
-- See `:help 'clipboard'`
|
-- See `:help 'clipboard'`
|
||||||
-- vim.schedule(function()
|
vim.schedule(function()
|
||||||
-- vim.opt.clipboard = 'unnamedplus'
|
vim.opt.clipboard = 'unnamedplus'
|
||||||
-- end)
|
end)
|
||||||
|
|
||||||
-- Use system clipboard via <leader>y/d, but Neovim clipboard via just y/d
|
|
||||||
vim.keymap.set('n', '<leader>y', '"+y', { desc = '[Y]ank to system clipboard' })
|
|
||||||
vim.keymap.set('v', '<leader>y', '"+y', { desc = '[Y]ank to system clipboard' })
|
|
||||||
-- vim.keymap.set('n', '<leader>Y', '"+Y', { desc = '[Y]ank to system clipboard' })
|
|
||||||
vim.keymap.set('n', '<leader>d', '"_d', { desc = '[D]elete to system clipboard' })
|
|
||||||
vim.keymap.set('v', '<leader>d', '"_d', { desc = '[D]elete to system clipboard' })
|
|
||||||
|
|
||||||
-- Change `K` hover documentation size
|
|
||||||
vim.lsp.handlers['textDocument/hover'] = vim.lsp.with(vim.lsp.handlers.hover, {
|
|
||||||
-- border = 'rounded',
|
|
||||||
max_width = 80,
|
|
||||||
-- max_height = 15,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Enable break indent
|
-- Enable break indent
|
||||||
vim.opt.breakindent = true
|
vim.opt.breakindent = true
|
||||||
|
|
@ -54,15 +40,6 @@ vim.opt.breakindent = true
|
||||||
-- Save undo history
|
-- Save undo history
|
||||||
vim.opt.undofile = true
|
vim.opt.undofile = true
|
||||||
|
|
||||||
-- Disable swap file
|
|
||||||
vim.opt.swapfile = false
|
|
||||||
|
|
||||||
-- Settings for sessions
|
|
||||||
vim.o.sessionoptions = 'blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions'
|
|
||||||
|
|
||||||
-- Highlight a vertical line at the specified column to encourage keeping lines within this limit
|
|
||||||
vim.opt.colorcolumn = '100'
|
|
||||||
|
|
||||||
-- Case-insensitive searching UNLESS \C or one or more capital letters in the search term
|
-- Case-insensitive searching UNLESS \C or one or more capital letters in the search term
|
||||||
vim.opt.ignorecase = true
|
vim.opt.ignorecase = true
|
||||||
vim.opt.smartcase = true
|
vim.opt.smartcase = true
|
||||||
|
|
@ -128,11 +105,6 @@ vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left wind
|
||||||
vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
|
vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
|
||||||
vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
|
vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
|
||||||
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
|
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
|
||||||
-- Use CTRL+arrows to switch between windows
|
|
||||||
vim.keymap.set('n', '<C-Left>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
|
|
||||||
vim.keymap.set('n', '<C-Right>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
|
|
||||||
vim.keymap.set('n', '<C-Down>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
|
|
||||||
vim.keymap.set('n', '<C-Up>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
|
|
||||||
|
|
||||||
-- [[ Basic Autocommands ]]
|
-- [[ Basic Autocommands ]]
|
||||||
-- See `:help lua-guide-autocommands`
|
-- See `:help lua-guide-autocommands`
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,10 @@
|
||||||
Тут будут куски текста из разных источников. Я не хочу засирать ими свои заметки, кину сюда
|
Тут будут куски текста из разных источников. Я не хочу засирать ими свои заметки, кину сюда
|
||||||
|
|
||||||
|
```sql
|
||||||
|
select * from pidor
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## На будущее
|
## На будущее
|
||||||
|
|
||||||
Fix C/C++ - https://www.reddit.com/r/NixOS/comments/1d7zvgu/nvim_cant_find_standard_library_headers/
|
Fix C/C++ - https://www.reddit.com/r/NixOS/comments/1d7zvgu/nvim_cant_find_standard_library_headers/
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ application/xml=nvim.desktop;code.desktop
|
||||||
application/yaml=nvim.desktop;code.desktop
|
application/yaml=nvim.desktop;code.desktop
|
||||||
image/*=com.interversehq.qView.desktop;imv.desktop
|
image/*=com.interversehq.qView.desktop;imv.desktop
|
||||||
image/apng=com.interversehq.qView.desktop;imv.desktop
|
image/apng=com.interversehq.qView.desktop;imv.desktop
|
||||||
image/avif=imv.desktop
|
image/avif=imv.desktop;com.interversehq.qView.desktop
|
||||||
image/gif=com.interversehq.qView.desktop;imv.desktop
|
image/gif=com.interversehq.qView.desktop;imv.desktop
|
||||||
image/jpeg=;com.interversehq.qView.desktop;imv.desktop;
|
image/jpeg=;com.interversehq.qView.desktop;imv.desktop;
|
||||||
image/pjpeg=com.interversehq.qView.desktop;imv.desktop
|
image/pjpeg=com.interversehq.qView.desktop;imv.desktop
|
||||||
|
|
@ -56,7 +56,7 @@ audio/x-mpegurl=mpv.desktop
|
||||||
audio/x-opus+ogg=mpv.desktop
|
audio/x-opus+ogg=mpv.desktop
|
||||||
image/*=com.interversehq.qView.desktop;imv.desktop
|
image/*=com.interversehq.qView.desktop;imv.desktop
|
||||||
image/apng=com.interversehq.qView.desktop;imv.desktop
|
image/apng=com.interversehq.qView.desktop;imv.desktop
|
||||||
image/avif=imv.desktop
|
image/avif=imv.desktop;com.interversehq.qView.desktop
|
||||||
image/gif=com.interversehq.qView.desktop;imv.desktop
|
image/gif=com.interversehq.qView.desktop;imv.desktop
|
||||||
image/jpeg=com.interversehq.qView.desktop;imv.desktop
|
image/jpeg=com.interversehq.qView.desktop;imv.desktop
|
||||||
image/pjpeg=com.interversehq.qView.desktop;imv.desktop
|
image/pjpeg=com.interversehq.qView.desktop;imv.desktop
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue