Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 824b68c48f | |||
| 9084f1a9fc | |||
| a51dc2026b | |||
| 059f61c5f2 | |||
| e85cd46b0d | |||
| 0e719616a4 | |||
| bce2815847 | |||
| eb72445d5c | |||
| 1e969b43a0 |
1
init.lua
1
init.lua
@@ -9,6 +9,7 @@ require("settings/lazy")
|
||||
|
||||
-- Keymaps
|
||||
require('keymaps/system')
|
||||
require('keymaps/functions')
|
||||
require('keymaps/plugins')
|
||||
|
||||
-- Autocommands
|
||||
|
||||
120
install.sh
120
install.sh
@@ -24,12 +24,6 @@ if test (string match -ri "ru" "$LANG")
|
||||
set_color -b red yellow; echo -n "[mirzaev/nvim] "; set_color brcyan; echo -n "[ИНФОРМАЦИЯ] "; set_color -o white; echo "Формат: install.sh [флаги]"; echo; set_color normal; set_color yellow; echo -n " -u "; set_color cyan; echo -n "--update "; set_color -d white; echo "Обновить все зависимости"; set_color normal; set_color yellow; echo -n " -f "; set_color cyan; echo -n "--force "; set_color -d white; echo "Не просить подтверждения"; set_color normal; set_color yellow; echo -n " -v "; set_color cyan; echo -n "--verbose "; set_color -d white; echo "Подключить TTY к буферу вывода"; set_color normal; set_color yellow; echo -n " -h "; set_color cyan; echo -n "--help "; set_color -d white; echo "Прислать это сообщение"; echo; set_color normal; set_color white; echo -n "Этот установщик работает только для "; set_color yellow; echo -n "fish "; set_color white; echo -n "и "; set_color red; echo -n "ubuntu";
|
||||
case NVIM_NOT_INSTALLED
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color red; echo -n "[ОШИБКА] "; set_color white; echo "NeoVim не установлен";
|
||||
case PACKER_INSTALL
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Установить Packer? (\"wbthomason/packer.nvim\") (y/N) ";
|
||||
case PACKER_EXISTS
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Packer уже установлен. Переустановить? (y/N) ";
|
||||
case PACKER_INSTALLED
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[РАБОТА] "; set_color white; echo "Установлен Packer";
|
||||
case LSP_INTELEPHENSE_INSTALL
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Установить LSP-сервер для PHP? (\"bmewburn/vscode-intelephense\") (y/N) ";
|
||||
case LSP_INTELEPHENSE_INSTALLED
|
||||
@@ -39,9 +33,9 @@ if test (string match -ri "ru" "$LANG")
|
||||
case LSP_VSCODE-LANGSERVERS_INSTALLED
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[РАБОТА] "; set_color white; echo "Установлены LSP-сервера от VSCode (JSON, HTML, CSS) (\"hrsh7th/vscode-langservers-extracted\")";
|
||||
case LSP_EMMET_INSTALL
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Установить LSP-сервер для набора инструментов Emmet (HTML из CSS)? (\"aca/emmet-ls\") (y/N) ";
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Установить LSP-сервер для набора инструментов Emmet (HTML и CSS)? (\"aca/emmet-ls\") (y/N) ";
|
||||
case LSP_EMMET_INSTALLED
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[РАБОТА] "; set_color white; echo "Установлен LSP-сервер для набора инструментов Emmet (HTML из CSS) (\"aca/emmet-ls\")";
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[РАБОТА] "; set_color white; echo "Установлен LSP-сервер для набора инструментов Emmet (HTML и CSS) (\"aca/emmet-ls\")";
|
||||
case LSP_CSSMODULES_INSTALL
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[ЗАДАЧА] "; set_color white; echo "Установить LSP-сервер для CSS (форматировщик)? (\"antonk52/cssmodules-language-server\") (y/N) ";
|
||||
case LSP_CSSMODULES_INSTALLED
|
||||
@@ -87,12 +81,6 @@ else
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color brcyan; echo -n "[INFORMATION] "; set_color -o white; echo "Format: install.sh [flags]"; echo; set_color normal; set_color yellow; echo -n " -u "; set_color cyan; echo -n "--update "; set_color -d white; echo "Update all dependencies"; set_color normal; set_color yellow; echo -n " -f "; set_color cyan; echo -n "--force "; set_color -d white; echo "Do not ask for confirmations"; set_color normal; set_color yellow; echo -n " -v "; set_color cyan; echo -n "--verbose "; set_color -d white; echo "Connect TTY to the output buffer"; set_color normal; set_color yellow; echo -n " -h "; set_color cyan; echo -n "--help "; set_color -d white; echo "Send this message"; set_color normal; set_color white; echo; echo -n "This installer only works with "; set_color yellow; echo -n "fish "; set_color white; echo -n "and "; set_color red; echo "ubuntu";
|
||||
case NVIM_NOT_INSTALLED
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color red; echo -n "[ERROR] "; set_color white; echo "NeoVim is not installed";
|
||||
case PACKER_INSTALL
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Install Packer? (\"wbthomason/packer.nvim\") (y/N) ";
|
||||
case PACKER_EXISTS
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Packer already installed. Reinstall? (y/N) ";
|
||||
case PACKER_INSTALLED
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color green; echo -n "[WORK] "; set_color white; echo "Installed Packer";
|
||||
case LSP_INTELEPHENSE_INSTALL
|
||||
set_color yellow; echo -n "[mirzaev/nvim] "; set_color blue; echo -n "[TASK] "; set_color white; echo "Install the LSP-server for PHP? (\"bmewburn/vscode-intelephense\") (y/N) ";
|
||||
case LSP_INTELEPHENSE_INSTALLED
|
||||
@@ -178,61 +166,61 @@ if set -q _flag_update
|
||||
fnm install $NODEJS_VERSION
|
||||
|
||||
# need to rewrite in the future (бляяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя)
|
||||
sudo apt install -y npm python3-venv python3-pip rubygems ruby-dev pkg-config
|
||||
sudo apt install -y npm universal-ctags python3-venv python3-virtualenv python3-pip rubygems ruby-dev pkg-config lua5.4 luarocks ripgrep
|
||||
|
||||
python3 -m virtualenv ~/.config/nvim/python
|
||||
source ~/.config/nvim/python/bin/activate.fish
|
||||
|
||||
# ~/.config/nvim/python/bin/python3 -m pip install --upgrade pip
|
||||
# ~/.config/nvim/python/bin/pip install --upgrade pynvim
|
||||
|
||||
python3 -m pip install --upgrade pip
|
||||
pip install --upgrade pynvim
|
||||
|
||||
sudo gem install neovim
|
||||
|
||||
# Install NeoVim module for NPM
|
||||
npm i -g neovim
|
||||
npm i -g tree-sitter-cli
|
||||
npm i -g yarn
|
||||
end &> $output
|
||||
end
|
||||
|
||||
sudo apt install -y build-essential flex bison libisl-dev texinfo texlive
|
||||
|
||||
# mkdir ~/src
|
||||
|
||||
# cd ~/src
|
||||
# wget https://ftp.gnu.org/gnu/binutils/binutils-2.45.1.tar.xz
|
||||
# tar -xf binutils-2.45.1.tar.xz
|
||||
# cd binutils-2.45.1
|
||||
# mkdir build
|
||||
# cd build
|
||||
# ../configure --prefix=/usr/local --target=x86_64-elf --program-prefix=x86_64-elf-
|
||||
# make all
|
||||
# sudo make install
|
||||
|
||||
# cd ~/src
|
||||
# wget http://ftp.gnu.org/gnu/gcc/gcc-14.1.0/gcc-14.1.0.tar.gz
|
||||
# tar -xf gcc-14.1.0.tar.gz
|
||||
# cd gcc-14.1.0
|
||||
# mkdir build
|
||||
# cd build
|
||||
# ../configure -v --build=$(uname -m)-linux-gnu --host=$(uname -m)-linux-gnu --target=$(uname -m)-linux-gnu --prefix=/usr/local/gcc-14.1.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib --program-suffix=-14.1.0
|
||||
# make
|
||||
# sudo make install
|
||||
# sudo update-alternatives --install /usr/bin/g++ g++ /usr/local/gcc-14.1.0/bin/g++-14.1.0 14
|
||||
# sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc-14.1.0/bin/gcc-14.1.0 14
|
||||
|
||||
# # git clone git://sourceware.org/git/glibc.git
|
||||
# git clone https://github.com/bminor/glibc
|
||||
# cd glibc
|
||||
# mkdir build
|
||||
# cd build
|
||||
# ../configure --disable-sanity-checks
|
||||
|
||||
# Initializing the virtual environment for Python packages
|
||||
python3 -m venv ~/.local --system-site-packages
|
||||
|
||||
if not set -q _flag_force
|
||||
# Installation request
|
||||
set RESPONSE (read -n 1 -p "print PACKER_INSTALL")
|
||||
bind -e y
|
||||
end
|
||||
|
||||
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||
if test -d ~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
||||
# Найден репозиторий "wbthomason/packer.nvim"
|
||||
|
||||
if not set -q _flag_force
|
||||
# Installation request
|
||||
set RESPONSE (read -n 1 -p "print PACKER_EXISTS")
|
||||
bind -e y
|
||||
end
|
||||
|
||||
if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||
# Запрошена переустановка
|
||||
|
||||
begin
|
||||
# Деинициализация старого репозитория
|
||||
rm -rf ~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
||||
|
||||
# Инициализация репозитория
|
||||
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
|
||||
~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
||||
end &> $output
|
||||
|
||||
print PACKER_INSTALLED
|
||||
end
|
||||
else
|
||||
# Не найден репозиторий "wbthomason/packer.nvim"
|
||||
|
||||
begin
|
||||
# Инициализация репозитория
|
||||
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
|
||||
~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
||||
end &> $output
|
||||
|
||||
print PACKER_INSTALLED
|
||||
end
|
||||
end
|
||||
~/.config/nvim/python/bin/python3 -m venv ~/.local --system-site-packages
|
||||
|
||||
if not set -q _flag_force
|
||||
# Installation request
|
||||
@@ -394,9 +382,23 @@ if set -q _flag_force; or test (string match -ri 'y' "$RESPONSE")
|
||||
cd ~/
|
||||
git clone https://github.com/xdebug/vscode-php-debug.git
|
||||
cd vscode-php-debug
|
||||
git pull
|
||||
npm install && npm run build
|
||||
end &> $output
|
||||
|
||||
echo \nEdit your PHP config!\n\
|
||||
\n\
|
||||
/etc/php/8.5/fpm/conf.d/20-xdebug.ini\n\
|
||||
\n\
|
||||
zend_extension=xdebug.so\n\
|
||||
\n\
|
||||
xdebug.start_with_request = yes\n\
|
||||
xdebug.mode = debug,develop\n\
|
||||
xdebug.remote_handler = dbgp\n\
|
||||
xdebug.client_host = 127.0.0.1\n\
|
||||
xdebug.log = /tmp/xdebug_remote.log\n\
|
||||
xdebug.client_port = 9003\n;
|
||||
|
||||
print PHP_DEBUG_ADAPTER_INSTALLED
|
||||
end
|
||||
|
||||
|
||||
@@ -1,41 +1,44 @@
|
||||
{
|
||||
"blink.cmp": { "branch": "main", "commit": "b19413d214068f316c78978b08264ed1c41830ec" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||
"coq.artifacts": { "branch": "artifacts", "commit": "ef5f21d638ccc456cfa5b8d0ab37093cefe48c8b" },
|
||||
"coq.thirdparty": { "branch": "3p", "commit": "2bd969a2bcd2624f9c260b1000957c7e665e308e" },
|
||||
"coq_nvim": { "branch": "coq", "commit": "d8b71757358038fa151fb45c493c3a1e8c3629a3" },
|
||||
"diaglist.nvim": { "branch": "master", "commit": "8aba9fcf62cc60e1d5ce941faedecc399d9a1e8b" },
|
||||
"fidget.nvim": { "branch": "main", "commit": "e32b672d8fd343f9d6a76944fedb8c61d7d8111a" },
|
||||
"cmp-git": { "branch": "main", "commit": "b24309c386c9666c549a1abaedd4956541676d06" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
|
||||
"fidget.nvim": { "branch": "main", "commit": "7fa433a83118a70fe24c1ce88d5f0bd3453c0970" },
|
||||
"flexoki": { "branch": "main", "commit": "079554c242a86be5d1a95598c7c6368d6eedd7a3" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "5813e4878748805f1518cee7abb50fd7205a3a48" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "abf82a65f185bd54adc0679f74b7d6e1ada690c9" },
|
||||
"jsctags": { "branch": "master", "commit": "22d3fb848c429d4704dc3a8946bc3a4423a8e4a4" },
|
||||
"kommentary": { "branch": "main", "commit": "d5a111a3bc4109a8f913a5863c9092b3b3801482" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" },
|
||||
"lsp-colors.nvim": { "branch": "main", "commit": "2bbe7541747fd339bdd8923fc45631a09bb4f1e5" },
|
||||
"lspkind-nvim": { "branch": "master", "commit": "3ddd1b4edefa425fda5a9f95a4f25578727c0bb3" },
|
||||
"lspkind-nvim": { "branch": "master", "commit": "c7274c48137396526b59d86232eabcdc7fed8a32" },
|
||||
"lualine-lsp-progress": { "branch": "master", "commit": "56842d097245a08d77912edf5f2a69ba29f275d7" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
|
||||
"lush.nvim": { "branch": "main", "commit": "9c60ec2279d62487d942ce095e49006af28eed6e" },
|
||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" },
|
||||
"nginx.vim": { "branch": "master", "commit": "cffaec54f0c7f9518de053634413a20e90eac825" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "d9e44e54384e5b0f3536339c65484f2e41b528e3" },
|
||||
"nvim-dap": { "branch": "master", "commit": "5860c7c501eb428d3137ee22c522828d20cca0b3" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" },
|
||||
"nvim-dap": { "branch": "master", "commit": "e47878dcf1ccc30136b30d19ab19fe76946d61cd" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
|
||||
"nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" },
|
||||
"nvim-lint": { "branch": "master", "commit": "c47b71d146a0b638f46672e6704c322369385df6" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "0d7d33e40f0c27f57cb29654ed78cab17d705e68" },
|
||||
"nvim-lint": { "branch": "master", "commit": "bcd1a44edbea8cd473af7e7582d3f7ffc60d8e81" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "3f58aeca0c6ece8a9fb8782ea3fcb6024f285be3" },
|
||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||
"nvim-treesitter": { "branch": "main", "commit": "d0bf5ff2b00939eab39c6572aec7cf232f843b1f" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
|
||||
"nvim-treesitter": { "branch": "main", "commit": "4967fa48b0fe7a7f92cee546c76bb4bb61bb14d5" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "803353450c374192393f5387b6a0176d0972b848" },
|
||||
"phpctags": { "branch": "master", "commit": "5ed731eb86227d416977b0a1fd06e77e58363818" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"reticle.nvim": { "branch": "main", "commit": "66bfa2b1c28fd71bb8ae4e871e0cd9e9c509ea86" },
|
||||
"tagbar": { "branch": "master", "commit": "7bfffca1f121afb7a9e38747500bf5270e006bb1" },
|
||||
"telescope-dap.nvim": { "branch": "master", "commit": "783366bd6c1e7fa0a5c59c07db37f49c805a28df" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "e69b434b968a33815e2f02a5c7bd7b8dd4c7d4b2" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "ad7d9580338354ccc136e5b8f0aa4f880434dcdc" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
||||
"vim-fish": { "branch": "master", "commit": "50b95cbbcd09c046121367d49039710e9dc9c15f" },
|
||||
"vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" },
|
||||
"vim-signify": { "branch": "master", "commit": "9ec7989ef5f92c5073de26abb46fc6a998b75ef8" },
|
||||
"vim-test": { "branch": "master", "commit": "1eeb12774a0f251571700ccf68da27789b2f0852" }
|
||||
"vim-test": { "branch": "master", "commit": "c569b3620d0e53572efc95159f66ace5e7b06b48" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
||||
}
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
{
|
||||
"workspace.library": [
|
||||
"/home/mirzaev/.config/nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/bufferline.nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/coq.artifacts",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/coq.thirdparty",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/coq_nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/diaglist.nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/fidget.nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/gitsigns.nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/kommentary",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/lsp-colors.nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/lspkind-nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/lualine-lsp-progress",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/lualine.nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/lush.nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/neo-tree.nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/nginx.vim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/nui.nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/nvim-autopairs",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/nvim-dap",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/nvim-lint",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/packer.nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/phpctags",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/plenary.nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/tagbar",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/telescope.nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/trouble.nvim",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/vim-fish",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/vim-fugitive",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/vim-prettier",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/vim-signify",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/start/vim-test",
|
||||
"/home/mirzaev/.local/share/nvim/site/pack/packer/opt/nvim-lspconfig",
|
||||
"/snap/nvim/2789/usr/share/nvim/runtime",
|
||||
"/snap/nvim/2789/usr/share/nvim/runtime/pack/dist/opt/matchit",
|
||||
"${3rd}/luassert/library",
|
||||
"${3rd}/luv/library"
|
||||
]
|
||||
}
|
||||
@@ -1,2 +1,2 @@
|
||||
-- Quick compilation with GCC and running
|
||||
vim.keymap.set('n', 'co', '<cmd>:!gcc -o test % && ./test', {noremap = true})
|
||||
vim.keymap.set('n', '<leader>c', '<cmd>!gcc -o test % && ./test<cr>', { noremap = true })
|
||||
|
||||
@@ -1,52 +1,3 @@
|
||||
--[[ nvim-neo-tree/neo-tree ]]
|
||||
-- Открыть интерфейс с древовидным отображением файлов
|
||||
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<f1>', '<cmd>Neotree toggle<cr>', { noremap = true })
|
||||
|
||||
|
||||
-- [[ folke/trouble.nvim ]]
|
||||
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<f2>', '<cmd>Trouble diagnostics toggle focus=false filter.buf=0<cr>', { noremap = true })
|
||||
|
||||
|
||||
--[[ onsails/diaglist.nvim ]]
|
||||
-- Открыть интерфейс диагностики
|
||||
vim.keymap.set('n', '<space>dw', '<cmd>lua require(\'diaglist\').open_all_diagnostics()<cr>', { noremap = true })
|
||||
vim.keymap.set('n', '<space>d0', '<cmd>lua require(\'diaglist\').open_buffer_diagnostics()<cr>', { noremap = true })
|
||||
|
||||
|
||||
--[[ noib3/nvim-cokeline ]]
|
||||
-- Переключение вкладок
|
||||
vim.keymap.set('n', '<tab>', '<plug>(cokeline-focus-next)', { noremap = true, silent = true })
|
||||
vim.keymap.set('n', '<s-tab>', '<Plug>(cokeline-focus-prev)', { noremap = true, silent = true })
|
||||
|
||||
|
||||
--[[ neovim/nvim-lspconfig ]]
|
||||
-- Диагностика
|
||||
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, { noremap = true, silent = true })
|
||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { noremap = true, silent = true })
|
||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { noremap = true, silent = true })
|
||||
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, { noremap = true, silent = true })
|
||||
|
||||
-- Инициализация только после того, как LSP-сервер подключится к текущему буферу
|
||||
lspconfig_on_attach = function(client, bufnr)
|
||||
-- Активация завершения
|
||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
-- vim.keymap.set({ 'n', 'v', 't' }, 'F', function() vim.lsp.buf.format { async = true } end, { noremap = true, silent = true, buffer = bufnr })
|
||||
|
||||
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, { noremap = true, silent = true, buffer = bufnr })
|
||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { noremap = true, silent = true, buffer = bufnr })
|
||||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, { noremap = true, silent = true, buffer = bufnr })
|
||||
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, { noremap = true, silent = true, buffer = bufnr })
|
||||
vim.keymap.set('n', '<c-k>', vim.lsp.buf.signature_help, { noremap = true, silent = true, buffer = bufnr })
|
||||
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, { noremap = true, silent = true, buffer = bufnr })
|
||||
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, { noremap = true, silent = true, buffer = bufnr })
|
||||
vim.keymap.set('n', '<space>wl', function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end,
|
||||
{ noremap = true, silent = true, buffer = bufnr })
|
||||
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, { noremap = true, silent = true, buffer = bufnr })
|
||||
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, { noremap = true, silent = true, buffer = bufnr })
|
||||
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, { noremap = true, silent = true, buffer = bufnr })
|
||||
vim.keymap.set('n', 'gr', vim.lsp.buf.references, { noremap = true, silent = true, buffer = bufnr })
|
||||
end
|
||||
|
||||
-- Formatting
|
||||
vim.keymap.set({ 'n', 'v', 't' }, 'F', function()
|
||||
if (vim.bo.filetype == 'nginx') then
|
||||
@@ -55,137 +6,53 @@ vim.keymap.set({ 'n', 'v', 't' }, 'F', function()
|
||||
vim.api.nvim_exec('w', false)
|
||||
vim.api.nvim_exec('! nginxbeautifier -i %', false)
|
||||
vim.api.nvim_exec('redraw', false)
|
||||
elseif (not (vim.diff(vim.inspect(vim.lsp.buf_get_clients()), '{}') == '')) then
|
||||
elseif (not (vim.diff(vim.inspect(vim.lsp.get_clients()), '{}') == '')) then
|
||||
-- LSP-server clients is ready
|
||||
|
||||
vim.lsp.buf.format { async = true }
|
||||
else
|
||||
-- LSP-server clients not found
|
||||
|
||||
-- vim.api.nvim_exec('PrettierAsync', false)
|
||||
vim.api.nvim_exec('PrettierAsync', false)
|
||||
end
|
||||
end,
|
||||
{ noremap = true, silent = true, buffer = bufnr })
|
||||
{ noremap = true, silent = true, buffer = bufnr }
|
||||
)
|
||||
|
||||
--[[ lewis6991/gitsigns.nvim ]]
|
||||
-- Инициализация только после того, как LSP-сервер подключится к текущему буферу
|
||||
gitsigns_on_attach = function(bufnr)
|
||||
-- Инициализация ярлыка
|
||||
local gs = package.loaded.gitsigns
|
||||
|
||||
-- Навигация
|
||||
vim.keymap.set('n', ']c', function()
|
||||
if vim.wo.diff then return ']c' end
|
||||
vim.schedule(function() gs.next_hunk() end)
|
||||
return '<Ignore>'
|
||||
end, { expr = true, buffer = bufnr })
|
||||
|
||||
-- Навигация
|
||||
vim.keymap.set('n', '[c', function()
|
||||
if vim.wo.diff then return '[c' end
|
||||
vim.schedule(function() gs.prev_hunk() end)
|
||||
return '<Ignore>'
|
||||
end, { expr = true, buffer = bufnr })
|
||||
|
||||
vim.keymap.set('n', '<leader>hs', '<cmd>Gitsigns stage_hunk<cr>', { buffer = bufnr })
|
||||
vim.keymap.set('v', '<leader>hs', '<cmd>Gitsigns stage_hunk<cr>', { buffer = bufnr })
|
||||
vim.keymap.set('n', '<leader>hr', '<cmd>Gitsigns reset_hunk<cr>', { buffer = bufnr })
|
||||
vim.keymap.set('v', '<leader>hr', '<cmd>Gitsigns reset_hunk<cr>', { buffer = bufnr })
|
||||
vim.keymap.set('n', '<leader>hS', gs.stage_buffer, { buffer = bufnr })
|
||||
vim.keymap.set('n', '<leader>hu', gs.undo_stage_hunk, { buffer = bufnr })
|
||||
vim.keymap.set('n', '<leader>hR', gs.reset_buffer, { buffer = bufnr })
|
||||
vim.keymap.set('n', '<leader>hp', gs.preview_hunk, { buffer = bufnr })
|
||||
vim.keymap.set('n', '<leader>hb', function() gs.blame_line { full = true } end, { buffer = bufnr })
|
||||
vim.keymap.set('n', '<leader>tb', gs.toggle_current_line_blame, { buffer = bufnr })
|
||||
vim.keymap.set('n', '<leader>hd', gs.diffthis, { buffer = bufnr })
|
||||
vim.keymap.set('n', '<leader>hD', function() gs.diffthis('~') end, { buffer = bufnr })
|
||||
vim.keymap.set('n', '<leader>td', gs.toggle_deleted, { buffer = bufnr })
|
||||
|
||||
vim.keymap.set('o', 'ih', '<cmd><c-U>Gitsigns select_hunk<cr>', { buffer = bufnr })
|
||||
vim.keymap.set('x', 'ih', '<cmd><c-U>Gitsigns select_hunk<cr>', { buffer = bufnr })
|
||||
end
|
||||
|
||||
|
||||
--[[ nvim-telescope/telescope.nvim ]]
|
||||
-- Инициализация ярлыка
|
||||
local builtin = require('telescope.builtin')
|
||||
|
||||
-- Поиск файла
|
||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, { noremap = true, silent = true })
|
||||
|
||||
-- grep
|
||||
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { noremap = true, silent = true })
|
||||
|
||||
-- Буферы?
|
||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, { noremap = true, silent = true })
|
||||
|
||||
-- Помощь
|
||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { noremap = true, silent = true })
|
||||
|
||||
|
||||
--[[ mfussenegger/nvim-dap ]]
|
||||
vim.keymap.set('n', '<F5>', function() require('dap').continue() end)
|
||||
vim.keymap.set('n', '<F10>', function() require('dap').step_over() end)
|
||||
vim.keymap.set('n', '<F11>', function() require('dap').step_into() end)
|
||||
vim.keymap.set('n', '<F12>', function() require('dap').step_out() end)
|
||||
vim.keymap.set('n', '<Leader>b', function() require('dap').toggle_breakpoint() end)
|
||||
vim.keymap.set('n', '<Leader>B', function() require('dap').set_breakpoint() end)
|
||||
vim.keymap.set('n', '<Leader>lp', function() require('dap').set_breakpoint(nil, nil, vim.fn.input('Log point message: ')) end)
|
||||
vim.keymap.set('n', '<Leader>dr', function() require('dap').repl.open() end)
|
||||
vim.keymap.set('n', '<Leader>dl', function() require('dap').run_last() end)
|
||||
vim.keymap.set({'n', 'v'}, '<Leader>dh', function()
|
||||
require('dap.ui.widgets').hover()
|
||||
end)
|
||||
vim.keymap.set({'n', 'v'}, '<Leader>dp', function()
|
||||
require('dap.ui.widgets').preview()
|
||||
end)
|
||||
vim.keymap.set('n', '<Leader>df', function()
|
||||
local widgets = require('dap.ui.widgets')
|
||||
widgets.centered_float(widgets.frames)
|
||||
end)
|
||||
vim.keymap.set('n', '<Leader>ds', function()
|
||||
local widgets = require('dap.ui.widgets')
|
||||
widgets.centered_float(widgets.scopes)
|
||||
end)
|
||||
|
||||
|
||||
--[[ windwp/nvim-autopairs ]]
|
||||
-- Переназначение стандартных сочетаний клавиш для "ms-jpq/coq_nvim"
|
||||
--vim.keymap.set('i', '<esc>', [[pumvisible() ? "<c-e><esc>" : "<esc>"]], {expr = true, noremap = true})
|
||||
--vim.keymap.set('i', '<c-c>', [[pumvisible() ? "<c-e><c-c>" : "<c-c>"]], {expr = true, noremap = true})
|
||||
--vim.keymap.set('i', '<tab>', [[pumvisible() ? "<c-n>" : "<tab>"]], {expr = true, noremap = true})
|
||||
--vim.keymap.set('i', '<s-tab>', [[pumvisible() ? "<c-p>" : "<tab>"]], {expr = true, noremap = true})
|
||||
|
||||
_G.PairIT = function()
|
||||
local autopairs = {
|
||||
['('] = ')',
|
||||
['['] = ']',
|
||||
['{'] = '}',
|
||||
['<'] = '>',
|
||||
[ [=[']=] ] = [=[']=],
|
||||
[ [=["]=] ] = [=["]=],
|
||||
}
|
||||
local set_pairs = vim.keymap.set
|
||||
for k, v in pairs(autopairs) do
|
||||
set_pairs('i', k, function()
|
||||
return k .. v .. '<Left>'
|
||||
end, { expr = true, noremap = true })
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
--[[ b3nj5m1n/kommentary ]]
|
||||
vim.keymap.set('n', '<leader>cic', '<Plug>kommentary_line_increase', { noremap = true, silent = true })
|
||||
vim.keymap.set('n', '<leader>ci', '<Plug>kommentary_motion_increase', { noremap = true, silent = true })
|
||||
vim.keymap.set('x', '<leader>ci', '<Plug>kommentary_visual_increase', { noremap = true, silent = true })
|
||||
vim.keymap.set('n', '<leader>cdc', '<Plug>kommentary_line_decrease', { noremap = true, silent = true })
|
||||
vim.keymap.set('n', '<leader>cd', '<Plug>kommentary_motion_decrease', { noremap = true, silent = true })
|
||||
vim.keymap.set('x', '<leader>cd', '<Plug>kommentary_visual_decrease', { noremap = true, silent = true })
|
||||
|
||||
|
||||
--[[ preservim/tagbar ]]
|
||||
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<f8>', '<cmd>TagbarToggle<cr>', { noremap = true, silent = true })
|
||||
|
||||
|
||||
--[[ simrat39/symbols-outline.nvim ]]
|
||||
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<f7>', '<cmd>SymbolsOutline<cr>', { noremap = true, silent = true })
|
||||
-- gitsigns_on_attach = function(bufnr)
|
||||
-- -- Инициализация ярлыка
|
||||
-- local gs = package.loaded.gitsigns
|
||||
--
|
||||
-- -- Навигация
|
||||
-- vim.keymap.set('n', ']c', function()
|
||||
-- if vim.wo.diff then return ']c' end
|
||||
-- vim.schedule(function() gs.next_hunk() end)
|
||||
-- return '<Ignore>'
|
||||
-- end, { expr = true, buffer = bufnr })
|
||||
--
|
||||
-- -- Навигация
|
||||
-- vim.keymap.set('n', '[c', function()
|
||||
-- if vim.wo.diff then return '[c' end
|
||||
-- vim.schedule(function() gs.prev_hunk() end)
|
||||
-- return '<Ignore>'
|
||||
-- end, { expr = true, buffer = bufnr })
|
||||
--
|
||||
-- vim.keymap.set('n', '<leader>hs', '<cmd>Gitsigns stage_hunk<cr>', { buffer = bufnr })
|
||||
-- vim.keymap.set('v', '<leader>hs', '<cmd>Gitsigns stage_hunk<cr>', { buffer = bufnr })
|
||||
-- vim.keymap.set('n', '<leader>hr', '<cmd>Gitsigns reset_hunk<cr>', { buffer = bufnr })
|
||||
-- vim.keymap.set('v', '<leader>hr', '<cmd>Gitsigns reset_hunk<cr>', { buffer = bufnr })
|
||||
-- vim.keymap.set('n', '<leader>hS', gs.stage_buffer, { buffer = bufnr })
|
||||
-- vim.keymap.set('n', '<leader>hu', gs.undo_stage_hunk, { buffer = bufnr })
|
||||
-- vim.keymap.set('n', '<leader>hR', gs.reset_buffer, { buffer = bufnr })
|
||||
-- vim.keymap.set('n', '<leader>hp', gs.preview_hunk, { buffer = bufnr })
|
||||
-- vim.keymap.set('n', '<leader>hb', function() gs.blame_line { full = true } end, { buffer = bufnr })
|
||||
-- vim.keymap.set('n', '<leader>tb', gs.toggle_current_line_blame, { buffer = bufnr })
|
||||
-- vim.keymap.set('n', '<leader>hd', gs.diffthis, { buffer = bufnr })
|
||||
-- vim.keymap.set('n', '<leader>hD', function() gs.diffthis('~') end, { buffer = bufnr })
|
||||
-- vim.keymap.set('n', '<leader>td', gs.toggle_deleted, { buffer = bufnr })
|
||||
--
|
||||
-- vim.keymap.set('o', 'ih', '<cmd><c-U>Gitsigns select_hunk<cr>', { buffer = bufnr })
|
||||
-- vim.keymap.set('x', 'ih', '<cmd><c-U>Gitsigns select_hunk<cr>', { buffer = bufnr })
|
||||
-- end
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
-- Выход из режима "ВСТАВКА" (insert)
|
||||
vim.keymap.set('i', '<C-i>', '<escape>', {noremap = true, silent = true})
|
||||
-- Offset
|
||||
vim.keymap.set({ 'i' }, '<tab>', '<cmd>><cr>', { noremap = true, silent = true })
|
||||
vim.keymap.set({ 'i' }, '<s-tab>', '<cmd><<cr>', { noremap = true, silent = true })
|
||||
vim.keymap.set({ 'v', 't' }, '<tab>', '>', { noremap = true, silent = true })
|
||||
vim.keymap.set({ 'v', 't' }, '<s-tab>', '<', { noremap = true, silent = true })
|
||||
|
||||
-- Быстрый сдвиг текста в режиме 'ВСТАВКА' (insert)
|
||||
-- (надо будет проработать в визуальном режиме на множество строк)
|
||||
vim.keymap.set({'i', 'v', 't'}, '<tab>', '<cmd>><cr>', {noremap = true, silent = true})
|
||||
vim.keymap.set({'i', 'v', 't'}, '<s-tab>', '<cmd><<cr>', {noremap = true, silent = true})
|
||||
|
||||
-- Отключение стрелок
|
||||
-- Disabling arrows
|
||||
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<left>', '', { noremap = true, silent = true })
|
||||
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<up>', '', { noremap = true, silent = true })
|
||||
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<right>', '', { noremap = true, silent = true })
|
||||
@@ -19,6 +17,3 @@ vim.keymap.set({'n', 'i', 'v', 't'}, '<c-left>', '', {noremap = true, silent = t
|
||||
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<c-up>', '', { noremap = true, silent = true })
|
||||
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<c-right>', '', { noremap = true, silent = true })
|
||||
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<c-down>', '', { noremap = true, silent = true })
|
||||
|
||||
-- Быстрое форматирование всего документа
|
||||
vim.keymap.set({'n', 'v', 't'}, '<space>F', '1GVG=<cr>', {noremap = true, silent = true})
|
||||
|
||||
@@ -2,17 +2,22 @@
|
||||
return {
|
||||
'akinsho/bufferline.nvim',
|
||||
enabled = true,
|
||||
lazy = false,
|
||||
priority = 40,
|
||||
lazy = true,
|
||||
event = 'BufReadPre',
|
||||
keys = {
|
||||
{ '<tab>', '<cmd>BufferLineCycleNext<cr>', mode = { 'n' }, desc = 'Move to the next tab', noremap = true, silent = true },
|
||||
{ '<s-tab>', '<cmd>BufferLineCyclePrev<cr>', mode = { 'n' }, desc = 'Move to the previous tab', noremap = true, silent = true },
|
||||
{ '<c-tab>', '<cmd>lua require("bufferline").go_to(vim.fn.input("Enter tab number: "), true)<cr>', mode = { 'n' }, desc = 'Move to the tab', noremap = true, silent = true },
|
||||
},
|
||||
version = '*',
|
||||
dependencies = {
|
||||
--
|
||||
{ 'nvim-tree/nvim-web-devicons' }
|
||||
-- Provides Nerd Font icons (glyphs) for use by neovim plugins
|
||||
'nvim-tree/nvim-web-devicons'
|
||||
},
|
||||
opts = {
|
||||
options = {
|
||||
themable = true,
|
||||
numbers = 'buffer_id',
|
||||
numbers = 'ordinal',
|
||||
-- close_command = 'bdelete! %d',
|
||||
-- right_mouse_command = 'bdelete! %d',
|
||||
-- left_mouse_command = 'buffer %d',
|
||||
@@ -44,7 +49,7 @@ return {
|
||||
persist_buffer_sort = true,
|
||||
move_wraps_at_ends = false,
|
||||
-- separator_style = 'slant' | 'slope' | 'thick' | 'thin' | { 'any', 'any' },
|
||||
separator_style = 'thin',
|
||||
separator_style = 'default',
|
||||
enforce_regular_tabs = false,
|
||||
always_show_bufferline = true,
|
||||
auto_toggle_bufferline = true,
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
-- Fast as FUCK nvim completion
|
||||
return {
|
||||
'ms-jpq/coq_nvim',
|
||||
enabled = true,
|
||||
lazy = false,
|
||||
branch = 'coq',
|
||||
dependencies = {
|
||||
-- Quickstart configs for Nvim LSP
|
||||
{ 'neovim/nvim-lspconfig' },
|
||||
|
||||
-- 9000+ Snippets
|
||||
{ 'ms-jpq/coq.artifacts', branch = 'artifacts' },
|
||||
|
||||
-- Lua & third party sources. Need to **configure separately**
|
||||
{ 'ms-jpq/coq.thirdparty', branch = '3p' }
|
||||
},
|
||||
config = function()
|
||||
vim.g.coq_settings = {
|
||||
auto_start = 'shut-up',
|
||||
}
|
||||
end,
|
||||
}
|
||||
|
||||
--
|
||||
--[[ {
|
||||
'neovim/nvim-lspconfig',
|
||||
lazy = false,
|
||||
dependencies = {
|
||||
-- Fast as FUCK nvim completion
|
||||
{ 'ms-jpq/coq_nvim', branch = 'coq' },
|
||||
|
||||
-- 9000+ Snippets
|
||||
{ 'ms-jpq/coq.artifacts', branch = 'artifacts' },
|
||||
|
||||
-- Lua & third party sources. Need to **configure separately**
|
||||
{ 'ms-jpq/coq.thirdparty', branch = '3p' }
|
||||
},
|
||||
|
||||
init = function()
|
||||
vim.g.coq_settings = {
|
||||
auto_start = 'shut-up',
|
||||
-- Your COQ settings here
|
||||
}
|
||||
end,
|
||||
|
||||
config = function()
|
||||
-- Your LSP settings here
|
||||
end,
|
||||
} ]]
|
||||
@@ -1,17 +1,60 @@
|
||||
-- A UI for nvim-dap
|
||||
-- An UI for nvim-dap
|
||||
return {
|
||||
'rcarriga/nvim-dap-ui',
|
||||
enabled = true,
|
||||
lazy = true,
|
||||
keys = {
|
||||
{ '<f5>', function() require('dap').continue() end, mode = { 'n' }, desc = 'DAP continue', noremap = true, silent = true },
|
||||
{ '<f10>', function() require('dap').step_over() end, mode = { 'n' }, desc = 'DAP step over', noremap = true, silent = true },
|
||||
{ '<f11>', function() require('dap').step_into() end, mode = { 'n' }, desc = 'DAP step into', noremap = true, silent = true },
|
||||
{ '<f12>', function() require('dap').step_out() end, mode = { 'n' }, desc = 'DAP step out', noremap = true, silent = true },
|
||||
{ '<leader>b', function() require('dap').toggle_breakpoint() end, mode = { 'n' }, desc = 'DAP toggle breakpoint', noremap = true, silent = true },
|
||||
-- { '<leader>B', function() require('dap').set_breakpoint() end, mode = { 'n' }, desc = 'DAP set breakpoint', noremap = true, silent = true },
|
||||
{
|
||||
'<leader>lp',
|
||||
function()
|
||||
require('dap').set_breakpoint(nil, nil, vim.fn.input('Log point message: '))
|
||||
end,
|
||||
mode = { 'n' },
|
||||
desc = 'DAP log point message',
|
||||
noremap = true,
|
||||
silent = true
|
||||
},
|
||||
{ '<leader>dr', function() require('dap').repl.open() end, mode = { 'n' }, desc = 'DAP repl open', noremap = true, silent = true },
|
||||
{ '<leader>dl', function() require('dap').run_last() end, mode = { 'n' }, desc = 'DAP run last', noremap = true, silent = true },
|
||||
{ '<leader>dh', function() require('dap.ui.widgets').hover() end, mode = { 'n', 'v' }, desc = 'DAP widgets hover', noremap = true, silent = true },
|
||||
{ '<leader>dp', function() require('dap.ui.widgets').preview() end, mode = { 'n', 'v' }, desc = 'DAP widgets preview', noremap = true, silent = true },
|
||||
{
|
||||
'<leader>df',
|
||||
function()
|
||||
local widgets = require('dap.ui.widgets'); widgets.centered_float(widgets.frames)
|
||||
end,
|
||||
mode = { 'n', 'v' },
|
||||
desc = 'DAP centered float (frames)',
|
||||
noremap = true,
|
||||
silent = true
|
||||
},
|
||||
{
|
||||
'<leader>ds',
|
||||
function()
|
||||
local widgets = require('dap.ui.widgets'); widgets.centered_float(widgets.scopesframes)
|
||||
end,
|
||||
mode = { 'n', 'v' },
|
||||
desc = 'DAP centered float (scopes)',
|
||||
noremap = true,
|
||||
silent = true
|
||||
},
|
||||
},
|
||||
dependencies = {
|
||||
-- Debug Adapter Protocol client implementation for Neovim
|
||||
'mfussenegger/nvim-dap',
|
||||
{ 'mfussenegger/nvim-dap' },
|
||||
|
||||
-- A library for asynchronous IO in Neovim
|
||||
'nvim-neotest/nvim-nio'
|
||||
{ 'nvim-neotest/nvim-nio' }
|
||||
},
|
||||
config = function()
|
||||
local dap, dapui = require('dap'), require('dapui')
|
||||
dapui.setup()
|
||||
|
||||
dap.listeners.before.attach.dapui_config = function()
|
||||
dapui.open()
|
||||
|
||||
@@ -3,8 +3,19 @@ return {
|
||||
'mfussenegger/nvim-dap',
|
||||
enabled = true,
|
||||
lazy = true,
|
||||
dependencies = {
|
||||
-- An UI for nvim-dap
|
||||
{ 'rcarriga/nvim-dap-ui' },
|
||||
|
||||
-- A library for asynchronous IO in Neovim
|
||||
{ 'nvim-neotest/nvim-nio' },
|
||||
|
||||
-- Virtual text support to nvim-dap
|
||||
{ 'theHamsta/nvim-dap-virtual-text' }
|
||||
},
|
||||
config = function()
|
||||
local dap = require('dap')
|
||||
require('telescope').load_extension('dap')
|
||||
|
||||
-- Installing debuggers for C, Rust and C++
|
||||
dap.configurations.cpp = {}
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
-- Live render workspace diagnostics in quickfix with
|
||||
-- current buf errors on top, buffer diagnostics in loclist
|
||||
return {
|
||||
'onsails/diaglist.nvim',
|
||||
enabled = true,
|
||||
lazy = true,
|
||||
opts = {
|
||||
debug = false,
|
||||
debounce_ms = 150
|
||||
}
|
||||
}
|
||||
64
lua/plugins/disabled/blink.lua
Normal file
64
lua/plugins/disabled/blink.lua
Normal file
@@ -0,0 +1,64 @@
|
||||
-- Performant, batteries-included completion plugin for Neovim
|
||||
return {
|
||||
'saghen/blink.cmp',
|
||||
enabled = false,
|
||||
lazy = true,
|
||||
-- optional: provides snippets for the snippet source
|
||||
dependencies = { 'rafamadriz/friendly-snippets' },
|
||||
|
||||
-- use a release tag to download pre-built binaries
|
||||
version = '1.*',
|
||||
-- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust
|
||||
-- build = 'cargo build --release',
|
||||
-- If you use nix, you can build from source using latest nightly rust with:
|
||||
-- build = 'nix run .#build-plugin',
|
||||
|
||||
---@module 'blink.cmp'
|
||||
---@type blink.cmp.Config
|
||||
opts = {
|
||||
-- 'default' (recommended) for mappings similar to built-in completions (C-y to accept)
|
||||
-- 'super-tab' for mappings similar to vscode (tab to accept)
|
||||
-- 'enter' for enter to accept
|
||||
-- 'none' for no mappings
|
||||
--
|
||||
-- All presets have the following mappings:
|
||||
-- C-space: Open menu or open docs if already open
|
||||
-- C-n/C-p or Up/Down: Select next/previous item
|
||||
-- C-e: Hide menu
|
||||
-- C-k: Toggle signature help (if signature.enabled = true)
|
||||
--
|
||||
-- See :h blink-cmp-config-keymap for defining your own keymap
|
||||
keymap = { preset = 'default' },
|
||||
|
||||
appearance = {
|
||||
-- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
||||
-- Adjusts spacing to ensure icons are aligned
|
||||
nerd_font_variant = 'mono'
|
||||
},
|
||||
|
||||
-- (Default) Only show the documentation popup when manually triggered
|
||||
completion = { documentation = { auto_show = false } },
|
||||
|
||||
-- Default list of enabled providers defined so that you can extend it
|
||||
-- elsewhere in your config, without redefining it, due to `opts_extend`
|
||||
sources = {
|
||||
default = { 'lazydev', 'lsp', 'path', 'snippets', 'buffer' },
|
||||
providers = {
|
||||
lazydev = {
|
||||
name = 'LazyDev',
|
||||
module = 'lazydev.integrations.blink',
|
||||
-- make lazydev completions top priority (see `:h blink.cmp`)
|
||||
score_offset = 100,
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
-- (Default) Rust fuzzy matcher for typo resistance and significantly better performance
|
||||
-- You may use a lua implementation instead by using `implementation = 'lua'` or fallback to the lua implementation,
|
||||
-- when the Rust fuzzy matcher is not available, by using `implementation = 'prefer_rust'`
|
||||
--
|
||||
-- See the fuzzy documentation for more information
|
||||
fuzzy = { implementation = 'prefer_rust_with_warning' }
|
||||
},
|
||||
opts_extend = { 'sources.default' }
|
||||
}
|
||||
15
lua/plugins/disabled/diaglist.lua
Normal file
15
lua/plugins/disabled/diaglist.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
-- Live render workspace diagnostics in quickfix with
|
||||
-- current buf errors on top, buffer diagnostics in loclist
|
||||
-- @todo удалить и заменить на трабл
|
||||
return {
|
||||
'onsails/diaglist.nvim',
|
||||
enabled = false,
|
||||
lazy = true,
|
||||
keys = {
|
||||
{ '<f3>', '<cmd>lua require(\'diaglist\').open_all_diagnostics()<cr>', mode = { 'n', 'i', 'v', 't' }, desc = 'Open all diagnostics (diaglist)', noremap = true, silent = true },
|
||||
},
|
||||
opts = {
|
||||
debug = false,
|
||||
debounce_ms = 150
|
||||
}
|
||||
}
|
||||
175
lua/plugins/disabled/lspconfig-with-coq.lua
Normal file
175
lua/plugins/disabled/lspconfig-with-coq.lua
Normal file
@@ -0,0 +1,175 @@
|
||||
-- Quickstart configs for Nvim LSP
|
||||
return {
|
||||
'neovim/nvim-lspconfig',
|
||||
enabled = false,
|
||||
lazy = false,
|
||||
priority = 70,
|
||||
dependencies = {
|
||||
-- 🌈 Plugin that creates missing LSP diagnostics
|
||||
-- highlight groups for color schemes that do not
|
||||
-- yet support the Neovim 0.5 builtin LSP client
|
||||
{ 'folke/lsp-colors.nvim' },
|
||||
|
||||
-- Fast as FUCK nvim completion
|
||||
{ 'ms-jpq/coq_nvim', branch = 'coq' },
|
||||
|
||||
-- 9000+ Snippets
|
||||
{ 'ms-jpq/coq.artifacts', branch = 'artifacts' },
|
||||
|
||||
-- Lua & third party sources. Need to **configure separately**
|
||||
{ 'ms-jpq/coq.thirdparty', branch = '3p' }
|
||||
},
|
||||
init = function()
|
||||
vim.g.coq_settings = {
|
||||
auto_start = 'shut-up'
|
||||
}
|
||||
end,
|
||||
config = function()
|
||||
-- @todo навести порядок
|
||||
|
||||
-- Активация вещания готовых набросков
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||
|
||||
-- Инициализация 'ms-jpq/coq_nvim'
|
||||
local coq = require('coq')
|
||||
|
||||
-- Инициализация LSP-серверов
|
||||
|
||||
-- Инициализация 'bmewburn/vscode-intelephense' (LSP-сервер для PHP)
|
||||
vim.lsp.config(
|
||||
'intelephense',
|
||||
{
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
}
|
||||
)
|
||||
vim.lsp.enable('intelephense')
|
||||
|
||||
-- Инициализация 'hrsh7th/vscode-html-language-server' (LSP-сервер для HTML)
|
||||
vim.lsp.config(
|
||||
'html',
|
||||
{
|
||||
init_options = {
|
||||
configurationSection = { 'html' },
|
||||
embeddedLanguages = {
|
||||
css = false,
|
||||
javascript = false
|
||||
},
|
||||
provideFormatter = true,
|
||||
},
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
}
|
||||
)
|
||||
vim.lsp.enable('html')
|
||||
|
||||
-- Инициализация 'aca/emmet-ls' (LSP-сервер для HTML)
|
||||
vim.lsp.config(
|
||||
'emmet_ls',
|
||||
{
|
||||
init_options = {
|
||||
html = {
|
||||
options = {
|
||||
['bem.enabled'] = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
})
|
||||
vim.lsp.enable('emmet_ls')
|
||||
|
||||
-- Инициализация 'hrsh7th/vscode-langservers-extracted' (LSP-сервер для CSS)
|
||||
vim.lsp.config(
|
||||
'cssls',
|
||||
{
|
||||
settings = {
|
||||
css = {
|
||||
validate = true
|
||||
},
|
||||
less = {
|
||||
validate = true
|
||||
},
|
||||
scss = {
|
||||
validate = true
|
||||
}
|
||||
},
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
})
|
||||
vim.lsp.enable('cssls')
|
||||
|
||||
-- Инициализация 'antonk52/cssmodules-language-server' (LSP-сервер для JS, вспомогательный для CSS)
|
||||
vim.lsp.config(
|
||||
'cssmodules_ls',
|
||||
{
|
||||
init_options = {
|
||||
camelCase = false,
|
||||
},
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
})
|
||||
vim.lsp.enable('cssmodules_ls')
|
||||
|
||||
-- Инициализация 'denoland/deno' (LSP-сервер для JavaScript и PostScript)
|
||||
vim.lsp.config(
|
||||
'denols',
|
||||
{
|
||||
init_options = {
|
||||
enable = true,
|
||||
unstable = false
|
||||
},
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
})
|
||||
vim.lsp.enable('denols')
|
||||
|
||||
-- Инициализация 'hrsh7th/vscode-langservers-extracted' (LSP-сервер для JSON)
|
||||
vim.lsp.config(
|
||||
'jsonls',
|
||||
{
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
})
|
||||
vim.lsp.enable('jsonls')
|
||||
|
||||
-- Инициализация 'luals/lua-language-server' (LSP-сервер для Lua)
|
||||
vim.lsp.config(
|
||||
'lua_ls',
|
||||
{
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
|
||||
version = 'LuaJIT',
|
||||
},
|
||||
diagnostics = {
|
||||
-- Get the language server to recognize the `vim` global
|
||||
globals = { 'vim' },
|
||||
},
|
||||
workspace = {
|
||||
-- Make the server aware of Neovim runtime files
|
||||
library = vim.api.nvim_get_runtime_file('', true),
|
||||
},
|
||||
-- Do not send telemetry data containing a randomized but unique identifier
|
||||
telemetry = {
|
||||
enable = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
}
|
||||
)
|
||||
vim.lsp.enable('lua_ls')
|
||||
end,
|
||||
}
|
||||
@@ -2,5 +2,13 @@
|
||||
return {
|
||||
'b3nj5m1n/kommentary',
|
||||
enabled = true,
|
||||
lazy = true
|
||||
lazy = true,
|
||||
keys = {
|
||||
{ 'gcc', '<Plug>kommentary_line_default', mode = 'n', desc = 'Comment', noremap = true, silent = true },
|
||||
{ 'gc', '<Plug>kommentary_motion_default', mode = 'n', desc = 'Comment', noremap = true, silent = true },
|
||||
{ 'gc', '<Plug>kommentary_visual_default<C-c>', mode = 'v', desc = 'Comment', noremap = true, silent = true },
|
||||
},
|
||||
config = function()
|
||||
vim.g.kommentary_create_default_mappings = false
|
||||
end
|
||||
}
|
||||
|
||||
15
lua/plugins/lazydev.lua
Normal file
15
lua/plugins/lazydev.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
-- Faster LuaLS setup for Neovim
|
||||
return {
|
||||
'folke/lazydev.nvim',
|
||||
enabled = true,
|
||||
lazy = false,
|
||||
ft = 'lua',
|
||||
opts = {
|
||||
library = {
|
||||
-- Load luvit types when the `vim.uv` word is found
|
||||
{ path = '${3rd}/luv/library', words = { 'vim%.uv' } },
|
||||
|
||||
{ 'nvim-dap-ui' }
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -10,22 +10,19 @@ return {
|
||||
-- yet support the Neovim 0.5 builtin LSP client
|
||||
{ 'folke/lsp-colors.nvim' },
|
||||
|
||||
-- 9000+ Snippets
|
||||
{ 'ms-jpq/coq.artifacts', branch = 'artifacts' },
|
||||
-- A completion plugin for neovim coded in Lua.
|
||||
{ 'hrsh7th/nvim-cmp' },
|
||||
|
||||
-- Lua & third party sources. Need to **configure separately**
|
||||
{ 'ms-jpq/coq.thirdparty', branch = '3p' }
|
||||
-- 💫 Extensible UI for Neovim notifications and LSP progress messages
|
||||
{ 'j-hui/fidget.nvim' }
|
||||
},
|
||||
init = function()
|
||||
end,
|
||||
config = function()
|
||||
-- @todo навести порядок
|
||||
|
||||
-- Активация вещания готовых набросков
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||
|
||||
-- Инициализация 'ms-jpq/coq_nvim'
|
||||
local coq = require('coq')
|
||||
|
||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||
-- Инициализация LSP-серверов
|
||||
|
||||
-- Инициализация 'bmewburn/vscode-intelephense' (LSP-сервер для PHP)
|
||||
@@ -33,7 +30,6 @@ vim.lsp.config(
|
||||
'intelephense',
|
||||
{
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
}
|
||||
)
|
||||
@@ -52,7 +48,6 @@ vim.lsp.config(
|
||||
provideFormatter = true,
|
||||
},
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
}
|
||||
)
|
||||
@@ -70,7 +65,6 @@ vim.lsp.config(
|
||||
},
|
||||
},
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
})
|
||||
vim.lsp.enable('emmet_ls')
|
||||
@@ -91,7 +85,6 @@ vim.lsp.config(
|
||||
}
|
||||
},
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
})
|
||||
vim.lsp.enable('cssls')
|
||||
@@ -104,7 +97,6 @@ vim.lsp.config(
|
||||
camelCase = false,
|
||||
},
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
})
|
||||
vim.lsp.enable('cssmodules_ls')
|
||||
@@ -118,7 +110,6 @@ vim.lsp.config(
|
||||
unstable = false
|
||||
},
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
})
|
||||
vim.lsp.enable('denols')
|
||||
@@ -128,13 +119,14 @@ vim.lsp.config(
|
||||
'jsonls',
|
||||
{
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
})
|
||||
vim.lsp.enable('jsonls')
|
||||
|
||||
-- Инициализация 'luals/lua-language-server' (LSP-сервер для Lua)
|
||||
--[[ vim.lsp.config.lua_ls.setup({
|
||||
vim.lsp.config(
|
||||
'lua_ls',
|
||||
{
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
@@ -156,8 +148,9 @@ vim.lsp.enable('jsonls')
|
||||
},
|
||||
},
|
||||
on_attach = lspconfig_on_attach,
|
||||
coq.lsp_ensure_capabilities(),
|
||||
capabilities = capabilities
|
||||
})]]
|
||||
}
|
||||
)
|
||||
vim.lsp.enable('lua_ls')
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -1,3 +1,32 @@
|
||||
-- stylua: ignore
|
||||
local colors = {
|
||||
blue = '#80a0ff',
|
||||
cyan = '#79dac8',
|
||||
black = '#080808',
|
||||
white = '#c6c6c6',
|
||||
red = '#ff5189',
|
||||
violet = '#d183e8',
|
||||
grey = '#303030',
|
||||
}
|
||||
|
||||
local bubbles_theme = {
|
||||
normal = {
|
||||
a = { fg = colors.black, bg = colors.violet },
|
||||
b = { fg = colors.white, bg = colors.grey },
|
||||
c = { fg = colors.white },
|
||||
},
|
||||
|
||||
insert = { a = { fg = colors.black, bg = colors.blue } },
|
||||
visual = { a = { fg = colors.black, bg = colors.cyan } },
|
||||
replace = { a = { fg = colors.black, bg = colors.red } },
|
||||
|
||||
inactive = {
|
||||
a = { fg = colors.white, bg = colors.black },
|
||||
b = { fg = colors.white, bg = colors.black },
|
||||
c = { fg = colors.white },
|
||||
},
|
||||
}
|
||||
|
||||
-- A blazing fast and easy to configure
|
||||
-- neovim statusline plugin written in pure lua
|
||||
-- @todo навести порядок
|
||||
@@ -16,7 +45,9 @@ return {
|
||||
-- A Git wrapper so awesome, it should be illegal
|
||||
{ 'tpope/vim-fugitive' }
|
||||
},
|
||||
opts = {
|
||||
config = function()
|
||||
require('lualine').setup {
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
theme = 'auto',
|
||||
component_separators = { left = '', right = '' },
|
||||
@@ -49,39 +80,11 @@ return {
|
||||
}
|
||||
},
|
||||
sections = {
|
||||
lualine_a = {
|
||||
'mode',
|
||||
icons_enabled = true,
|
||||
icon = nil,
|
||||
separator = nil,
|
||||
cond = nil,
|
||||
color = nil,
|
||||
--type = var(g:coc_status/bo:modifiable),
|
||||
padding = 1,
|
||||
fmt = nil,
|
||||
on_click = nil,
|
||||
},
|
||||
lualine_b = {
|
||||
'branch',
|
||||
'diff',
|
||||
{
|
||||
'diagnostics',
|
||||
sources = { 'coc' },
|
||||
sections = { 'error', 'warn', 'info', 'hint' },
|
||||
diagnostics_color = {
|
||||
error = 'DiagnosticError',
|
||||
warn = 'DiagnosticWarn',
|
||||
info = 'DiagnosticInfo',
|
||||
hint = 'DiagnosticHint',
|
||||
},
|
||||
symbols = {error = 'E', warn = 'W', info = 'I', hint = 'H'},
|
||||
colored = true,
|
||||
update_in_insert = false,
|
||||
always_visible = false
|
||||
}
|
||||
},
|
||||
lualine_a = { 'mode' },
|
||||
lualine_b = { 'branch', 'diff' },
|
||||
lualine_c = { 'filename', 'lsp_progress' },
|
||||
lualine_x = { FugitiveStatusline, 'encoding', 'fileformat', 'filetype'},
|
||||
lualine_x = { 'encoding', 'fileformat', 'filetype' },
|
||||
-- lualine_x = { FugitiveStatusline, 'encoding', 'fileformat', 'filetype'},
|
||||
-- lualine_x = { FugitiveHead, 'encoding', 'fileformat', 'filetype'},
|
||||
lualine_y = { 'progress' },
|
||||
lualine_z = { 'location' }
|
||||
@@ -101,5 +104,25 @@ return {
|
||||
'lazy',
|
||||
'nvim-dap-ui',
|
||||
'trouble',
|
||||
'neo-tree'}
|
||||
'neo-tree'
|
||||
}
|
||||
}
|
||||
--[[ config = function()
|
||||
local trouble = require("trouble")
|
||||
local symbols = trouble.statusline({
|
||||
mode = "lsp_document_symbols",
|
||||
groups = {},
|
||||
title = false,
|
||||
filter = { range = true },
|
||||
format = "{kind_icon}{symbol.name:Normal}",
|
||||
-- The following line is needed to fix the background color
|
||||
-- Set it to the lualine section you want to use
|
||||
hl_group = "lualine_c_normal",
|
||||
})
|
||||
table.insert(opts.sections.lualine_c, {
|
||||
symbols.get,
|
||||
cond = symbols.has,
|
||||
})
|
||||
end ]]
|
||||
end
|
||||
}
|
||||
|
||||
@@ -3,8 +3,10 @@
|
||||
return {
|
||||
'nvim-neo-tree/neo-tree.nvim',
|
||||
enabled = true,
|
||||
lazy = false,
|
||||
priority = 60,
|
||||
lazy = true,
|
||||
keys = {
|
||||
{ '<f1>', '<cmd>Neotree toggle<cr>', mode = { 'n', 'i', 'v', 't' }, desc = 'NeoTree toggle', noremap = true, silent = true },
|
||||
},
|
||||
branch = 'v3.x',
|
||||
dependencies = {
|
||||
-- Lua functions
|
||||
|
||||
15
lua/plugins/nvim-cmp-git.lua
Normal file
15
lua/plugins/nvim-cmp-git.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
-- Git source for nvim-cmp
|
||||
return {
|
||||
'petertriho/cmp-git',
|
||||
enabled = true,
|
||||
lazy = true,
|
||||
dependencies = {
|
||||
-- A completion plugin for neovim coded in Lua.
|
||||
{ 'hrsh7th/nvim-cmp' }
|
||||
},
|
||||
opts = {
|
||||
},
|
||||
init = function()
|
||||
table.insert(require('cmp').get_config().sources, { name = 'git' })
|
||||
end
|
||||
}
|
||||
14
lua/plugins/nvim-cmp-lsp.lua
Normal file
14
lua/plugins/nvim-cmp-lsp.lua
Normal file
@@ -0,0 +1,14 @@
|
||||
-- A completion plugin for neovim coded in Lua.
|
||||
return {
|
||||
'hrsh7th/cmp-nvim-lsp',
|
||||
enabled = true,
|
||||
lazy = true,
|
||||
dependencies = {
|
||||
-- A completion plugin for neovim coded in Lua.
|
||||
{ 'hrsh7th/nvim-cmp' }
|
||||
},
|
||||
opts = {
|
||||
},
|
||||
init = function()
|
||||
end
|
||||
}
|
||||
29
lua/plugins/nvim-cmp.lua
Normal file
29
lua/plugins/nvim-cmp.lua
Normal file
@@ -0,0 +1,29 @@
|
||||
-- A completion plugin for neovim coded in Lua.
|
||||
return {
|
||||
'hrsh7th/nvim-cmp',
|
||||
enabled = true,
|
||||
lazy = true,
|
||||
dependencies = {
|
||||
-- nvim-cmp source for neovim builtin LSP client
|
||||
{ 'hrsh7th/cmp-nvim-lsp' },
|
||||
|
||||
-- Git source for nvim-cmp
|
||||
{ 'petertriho/cmp-git' },
|
||||
},
|
||||
opts = function(_, opts)
|
||||
opts.sources = opts.sources or {}
|
||||
|
||||
table.insert(opts.sources, {
|
||||
name = 'lazydev',
|
||||
group_index = 0, -- set group index to 0 to skip loading LuaLS completions
|
||||
})
|
||||
|
||||
table.insert(opts.sources, {
|
||||
name = 'nvim_lsp'
|
||||
})
|
||||
|
||||
table.insert(opts.sources, {
|
||||
name = 'git'
|
||||
})
|
||||
end,
|
||||
}
|
||||
@@ -5,7 +5,6 @@ return {
|
||||
lazy = false,
|
||||
priority = 110,
|
||||
opts = {
|
||||
override = {},
|
||||
color_icons = true,
|
||||
default = true,
|
||||
strict = true
|
||||
|
||||
@@ -6,5 +6,71 @@ return {
|
||||
lazy = true,
|
||||
event = 'VeryLazy',
|
||||
opts = {
|
||||
-- Enable/Disable the cursorline and/or cursorcolumn at startup
|
||||
on_startup = {
|
||||
cursorline = true,
|
||||
cursorcolumn = false,
|
||||
},
|
||||
|
||||
-- Disable the cursorline and cursorcolumn in insert mode
|
||||
disable_in_insert = false,
|
||||
|
||||
-- Disable the cursorline and cursorcolumn in diff mode
|
||||
disable_in_diff = false,
|
||||
|
||||
-- By default, nvim highlights the cursorline number only when the
|
||||
-- cursorline setting is active. Enabling this setting ensures that the
|
||||
-- cursorline number in every window is always highlighted, regardless of
|
||||
-- the cursorline setting. See: ':h cursorlineopt'
|
||||
always_highlight_number = false,
|
||||
|
||||
-- Cursorline and/or cursorcolumn are set to be displayed exclusively in
|
||||
-- the active window, thus following your active window. This setting is
|
||||
-- overruled by the following settings concerning special filetypes.
|
||||
follow = {
|
||||
cursorline = true,
|
||||
cursorcolumn = true,
|
||||
},
|
||||
|
||||
-- Specify filetypes where the cursorline and/or cursorcolumn are always
|
||||
-- enabled, regardless of the global setting.
|
||||
always = {
|
||||
cursorline = {},
|
||||
cursorcolumn = {},
|
||||
},
|
||||
|
||||
-- Specify filetypes where the cursorline and/or cursorcolumn are always
|
||||
-- enabled when the window is focused, regardless of the global setting.
|
||||
on_focus = {
|
||||
cursorline = {},
|
||||
cursorcolumn = {},
|
||||
},
|
||||
|
||||
-- Define filetypes which are ignored by the plugin
|
||||
ignore = {
|
||||
cursorline = {
|
||||
'DressingInput',
|
||||
'FTerm',
|
||||
'NvimSeparator',
|
||||
'NvimTree',
|
||||
'neo-tree',
|
||||
'TelescopePrompt',
|
||||
'Trouble',
|
||||
},
|
||||
cursorcolumn = {
|
||||
'neo-tree',
|
||||
},
|
||||
},
|
||||
|
||||
-- Specify filetypes where the cursorline and/or cursorcolumn should be
|
||||
-- explicitly disabled. Typically, you would include these filetypes in
|
||||
-- the 'ignored' table. However, there are situations where plugins enable
|
||||
-- cursorline/cursorcolumn without offering a configuration option for
|
||||
-- disabling them. By adding these filetypes to the 'never' table, you
|
||||
-- can override the plugin's settings and turn off these features.
|
||||
never = {
|
||||
cursorline = {},
|
||||
cursorcolumn = {},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,10 @@
|
||||
return {
|
||||
'preservim/tagbar',
|
||||
enabled = true,
|
||||
lazy = false,
|
||||
priority = 40,
|
||||
lazy = true,
|
||||
keys = {
|
||||
{ '<f2>', '<cmd>TagbarToggle<cr>', mode = { 'n', 'i', 'v', 't' }, desc = 'Tagbar toggle', noremap = true, silent = true },
|
||||
},
|
||||
dependencies = {
|
||||
-- An enhanced ctags compatible index generator written in pure PHP
|
||||
{ 'vim-php/phpctags' },
|
||||
|
||||
@@ -4,7 +4,12 @@ return {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
enabled = true,
|
||||
lazy = true,
|
||||
tag = 'v0.2.0',
|
||||
keys = {
|
||||
{ '<c-f>', '<cmd>Telescope find_files<cr>', mode = { 'n', 'i', 'v', 't' }, desc = 'Search files', noremap = true, silent = true },
|
||||
{ '<c-g>', '<cmd>Telescope live_grep<cr>', mode = { 'n', 'i', 'v', 't' }, desc = 'Grep files', noremap = true, silent = true },
|
||||
{ '<leader><tab>', '<cmd>Telescope buffers<cr>', mode = { 'n', 'v', 't' }, desc = 'Search buffers', noremap = true, silent = true },
|
||||
{ '<leader>?', '<cmd>Telescope help_tags<cr>', mode = { 'n', 'v', 't' }, desc = 'Help', noremap = true, silent = true },
|
||||
},
|
||||
dependencies = {
|
||||
-- Functions for Telescope
|
||||
{ 'nvim-lua/plenary.nvim' },
|
||||
@@ -13,7 +18,7 @@ return {
|
||||
{ 'nvim-telescope/telescope-dap.nvim' }
|
||||
},
|
||||
opts = {
|
||||
exteinsiions = {
|
||||
exteinsions = {
|
||||
dap = {}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -5,111 +5,15 @@ return {
|
||||
'folke/trouble.nvim',
|
||||
enabled = true,
|
||||
lazy = false,
|
||||
priority = 20,
|
||||
cmd = 'Trouble',
|
||||
keys = {
|
||||
{ '<f3>', '<cmd>Trouble diagnostics toggle<cr>', mode = { 'n', 'i', 'v', 't' }, desc = 'Diagnostics (Trouble)', noremap = true, silent = true },
|
||||
},
|
||||
dependencies = {
|
||||
-- Nvim Treesitter configurations and abstraction layer
|
||||
{ 'nvim-treesitter/nvim-treesitter' },
|
||||
|
||||
-- Provides Nerd Font icons (glyphs) for use by neovim plugins
|
||||
{ 'nvim-tree/nvim-web-devicons' }
|
||||
},
|
||||
opts = {
|
||||
position = 'bottom', -- position of the list can be: bottom, top, left, right
|
||||
height = 10, -- height of the trouble list when position is top or bottom
|
||||
width = 50, -- width of the list when position is left or right
|
||||
icons = true, -- use devicons for filenames
|
||||
mode = 'workspace_diagnostics', -- 'workspace_diagnostics', 'document_diagnostics', 'quickfix', 'lsp_references', 'loclist'
|
||||
fold_open = '', -- icon used for open folds
|
||||
fold_closed = '', -- icon used for closed folds
|
||||
group = true, -- group results by file
|
||||
padding = true, -- add an extra new line on top of the list
|
||||
action_keys = {
|
||||
-- key mappings for actions in the trouble list
|
||||
-- map to {} to remove a mapping, for example:
|
||||
-- close = {},
|
||||
close = 'q', -- close the list
|
||||
cancel = '<esc>', -- cancel the preview and get back to your last window / buffer / cursor
|
||||
refresh = 'r', -- manually refresh
|
||||
jump = { '<cr>', '<tab>' }, -- jump to the diagnostic or open / close folds
|
||||
open_split = { '<c-x>' }, -- open buffer in new split
|
||||
open_vsplit = { '<c-v>' }, -- open buffer in new vsplit
|
||||
open_tab = { '<c-t>' }, -- open buffer in new tab
|
||||
jump_close = { 'o' }, -- jump to the diagnostic and close the list
|
||||
toggle_mode = 'm', -- toggle between 'workspace' and 'document' diagnostics mode
|
||||
toggle_preview = 'P', -- toggle auto_preview
|
||||
hover = 'K', -- opens a small popup with the full multiline message
|
||||
preview = 'p', -- preview the diagnostic location
|
||||
close_folds = { 'zM', 'zm' }, -- close all folds
|
||||
open_folds = { 'zR', 'zr' }, -- open all folds
|
||||
toggle_fold = { 'zA', 'za' }, -- toggle fold of current file
|
||||
previous = 'k', -- previous item
|
||||
next = 'j' -- next item
|
||||
},
|
||||
indent_lines = true, -- add an indent guide below the fold icons
|
||||
auto_open = false, -- automatically open the list when you have diagnostics
|
||||
auto_close = false, -- automatically close the list when you have no diagnostics
|
||||
auto_preview = true, -- automatically preview the location of the diagnostic. <esc> to close preview and go back to last window
|
||||
auto_fold = false, -- automatically fold a file trouble list at creation
|
||||
auto_jump = { 'lsp_definitions' }, -- for the given modes, automatically jump if there is only a single result
|
||||
signs = {
|
||||
-- icons / text used for a diagnostic
|
||||
error = '',
|
||||
warning = '',
|
||||
hint = '',
|
||||
information = '',
|
||||
other = ''
|
||||
},
|
||||
use_diagnostic_signs = false -- enabling this will use the signs defined in your lsp client
|
||||
},
|
||||
config = function()
|
||||
-- Initializing Telescope
|
||||
local telescope = require('telescope')
|
||||
local telescope_actions = require('telescope.actions')
|
||||
local telescope_open = require('trouble.sources.telescope').open
|
||||
|
||||
-- Use this to add more results without clearing the trouble list
|
||||
local add_to_trouble = require('trouble.sources.telescope').add
|
||||
|
||||
telescope.setup({
|
||||
defaults = {
|
||||
mappings = {
|
||||
i = { ['<c-t>'] = telescope_open },
|
||||
n = { ['<c-t>'] = telescope_open },
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
cmd = 'Trouble',
|
||||
keys = {
|
||||
{
|
||||
'<leader>xx',
|
||||
'<cmd>Trouble diagnostics toggle<cr>',
|
||||
desc = 'Diagnostics (Trouble)',
|
||||
},
|
||||
{
|
||||
'<leader>xX',
|
||||
'<cmd>Trouble diagnostics toggle filter.buf=0<cr>',
|
||||
desc = 'Buffer Diagnostics (Trouble)',
|
||||
},
|
||||
{
|
||||
'<leader>cs',
|
||||
'<cmd>Trouble symbols toggle focus=false<cr>',
|
||||
desc = 'Symbols (Trouble)',
|
||||
},
|
||||
{
|
||||
'<leader>cl',
|
||||
'<cmd>Trouble lsp toggle focus=false win.position=right<cr>',
|
||||
desc = 'LSP Definitions / references / ... (Trouble)',
|
||||
},
|
||||
{
|
||||
'<leader>xL',
|
||||
'<cmd>Trouble loclist toggle<cr>',
|
||||
desc = 'Location List (Trouble)',
|
||||
},
|
||||
{
|
||||
'<leader>xQ',
|
||||
'<cmd>Trouble qflist toggle<cr>',
|
||||
desc = 'Quickfix List (Trouble)',
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
15
lua/plugins/which-key.lua
Normal file
15
lua/plugins/which-key.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
-- 💥 Create key bindings that stick. WhichKey helps you remember your Neovim keymaps,
|
||||
-- by showing available keybindings in a popup as you type.
|
||||
return {
|
||||
'folke/which-key.nvim',
|
||||
event = 'VeryLazy',
|
||||
opts = {
|
||||
preset = 'helix',
|
||||
triggers = {
|
||||
{ '<auto>', mode = { 'n', 'i', 'v', 't' } },
|
||||
}
|
||||
},
|
||||
keys = {
|
||||
-- { '<leader><leader>', function() require('which-key').show({ global = false }) end, mode = { 'n' }, desc = 'Buffer Local Keymaps (which-key)', noremap = true, silent = true },
|
||||
},
|
||||
}
|
||||
@@ -29,9 +29,9 @@ require('lazy').setup({
|
||||
|
||||
-- Configure any other settings here. See the documentation for more details.
|
||||
-- colorscheme that will be used when installing plugins.
|
||||
install = {
|
||||
colorscheme = { 'flexoki' }
|
||||
},
|
||||
-- install = {
|
||||
-- colorscheme = { 'flexoki' }
|
||||
-- },
|
||||
|
||||
-- Automatically check for plugin updates
|
||||
checker = {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
-- Leader button
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = "\\"
|
||||
vim.g.mapleader = '`'
|
||||
vim.g.maplocalleader = '\\'
|
||||
|
||||
-- Использовать системный буфер обмена
|
||||
vim.opt.clipboard = 'unnamedplus'
|
||||
|
||||
55
lua/trouble.lua
Normal file
55
lua/trouble.lua
Normal file
@@ -0,0 +1,55 @@
|
||||
-- 🚦 A pretty diagnostics, references, telescope results,
|
||||
-- quickfix and location list to help you solve
|
||||
-- all the trouble your code is causing
|
||||
return {
|
||||
'folke/trouble.nvim',
|
||||
enabled = true,
|
||||
lazy = false,
|
||||
cmd = 'Trouble',
|
||||
keys = {
|
||||
{ '<f3>', '<cmd>Trouble diagnostics toggle<cr>', mode = { 'n', 'i', 'v', 't' }, desc = 'Diagnostics (Trouble)', noremap = true, silent = true },
|
||||
},
|
||||
dependencies = {
|
||||
-- Nvim Treesitter configurations and abstraction layer
|
||||
{ 'nvim-treesitter/nvim-treesitter' },
|
||||
|
||||
-- Provides Nerd Font icons (glyphs) for use by neovim plugins
|
||||
{ 'nvim-tree/nvim-web-devicons' }
|
||||
},
|
||||
opts = {
|
||||
auto_close = true, -- auto close when there are no items
|
||||
auto_open = true, -- auto open when there are items
|
||||
position = 'bottom', -- position of the list can be: bottom, top, left, right
|
||||
auto_preview = true, -- automatically open preview when on an item
|
||||
auto_refresh = true, -- auto refresh when open
|
||||
auto_jump = false, -- auto jump to the item when there's only one
|
||||
focus = false, -- Focus the window when opened
|
||||
restore = true, -- restores the last location in the list when opening
|
||||
follow = true, -- Follow the current item
|
||||
indent_guides = true, -- show indent guides
|
||||
max_items = 200, -- limit number of items that can be displayed per section
|
||||
multiline = true, -- render multi-line messages
|
||||
pinned = false, -- When pinned, the opened trouble window will be bound to the current buffer
|
||||
warn_no_results = true, -- show a warning when there are no results
|
||||
open_no_results = false, -- open the trouble window when there are no results
|
||||
-- use_diagnostic_signs = false -- enabling this will use the signs defined in your lsp client
|
||||
},
|
||||
config = function()
|
||||
-- Initializing Telescope
|
||||
local telescope = require('telescope')
|
||||
local telescope_actions = require('telescope.actions')
|
||||
local telescope_open = require('trouble.sources.telescope').open
|
||||
|
||||
-- Use this to add more results without clearing the trouble list
|
||||
local add_to_trouble = require('trouble.sources.telescope').add
|
||||
|
||||
telescope.setup({
|
||||
defaults = {
|
||||
mappings = {
|
||||
i = { ['<c-t>'] = telescope_open },
|
||||
n = { ['<c-t>'] = telescope_open },
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
}
|
||||
Reference in New Issue
Block a user