diff --git a/install.sh b/install.sh index 35da9b9..bb5b3a9 100755 --- a/install.sh +++ b/install.sh @@ -173,9 +173,44 @@ if set -q _flag_update # 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 diff --git a/lazy-lock.json b/lazy-lock.json index 6b9e85f..3716cb6 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -9,7 +9,7 @@ "gitsigns.nvim": { "branch": "main", "commit": "5813e4878748805f1518cee7abb50fd7205a3a48" }, "jsctags": { "branch": "master", "commit": "22d3fb848c429d4704dc3a8946bc3a4423a8e4a4" }, "kommentary": { "branch": "main", "commit": "d5a111a3bc4109a8f913a5863c9092b3b3801482" }, - "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, + "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" }, "lsp-colors.nvim": { "branch": "main", "commit": "2bbe7541747fd339bdd8923fc45631a09bb4f1e5" }, "lspkind-nvim": { "branch": "master", "commit": "3ddd1b4edefa425fda5a9f95a4f25578727c0bb3" }, "lualine-lsp-progress": { "branch": "master", "commit": "56842d097245a08d77912edf5f2a69ba29f275d7" }, diff --git a/lua/.luarc.json b/lua/.luarc.json deleted file mode 100644 index bc127bf..0000000 --- a/lua/.luarc.json +++ /dev/null @@ -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" - ] -} \ No newline at end of file diff --git a/lua/keymaps/plugins.lua b/lua/keymaps/plugins.lua index 28b592b..1e44031 100644 --- a/lua/keymaps/plugins.lua +++ b/lua/keymaps/plugins.lua @@ -6,7 +6,7 @@ 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 } diff --git a/lua/keymaps/system.lua b/lua/keymaps/system.lua index 59795a2..ebc81dd 100644 --- a/lua/keymaps/system.lua +++ b/lua/keymaps/system.lua @@ -1,6 +1,8 @@ -- Offset -vim.keymap.set({'i', 'v', 't'}, '', '>', {noremap = true, silent = true}) -vim.keymap.set({'i', 'v', 't'}, '', '<', {noremap = true, silent = true}) +vim.keymap.set({'i'}, '', '>', {noremap = true, silent = true}) +vim.keymap.set({'i'}, '', '<', {noremap = true, silent = true}) +vim.keymap.set({'v', 't'}, '', '>', {noremap = true, silent = true}) +vim.keymap.set({'v', 't'}, '', '<', {noremap = true, silent = true}) -- Disabling arrows vim.keymap.set({'n', 'i', 'v', 't'}, '', '', {noremap = true, silent = true}) diff --git a/lua/plugins/lualine.lua b/lua/plugins/lualine.lua index eee91ec..3fc4b20 100644 --- a/lua/plugins/lualine.lua +++ b/lua/plugins/lualine.lua @@ -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,21 +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_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'} @@ -84,22 +105,24 @@ return { 'nvim-dap-ui', 'trouble', '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 + } + } + --[[ 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 } diff --git a/lua/plugins/nvim-web-devicons.lua b/lua/plugins/nvim-web-devicons.lua index d91eb79..963b760 100644 --- a/lua/plugins/nvim-web-devicons.lua +++ b/lua/plugins/nvim-web-devicons.lua @@ -5,7 +5,6 @@ return { lazy = false, priority = 110, opts = { - override = {}, color_icons = true, default = true, strict = true diff --git a/lua/plugins/reticle.lua b/lua/plugins/reticle.lua index 8e57e71..3f4c9ef 100644 --- a/lua/plugins/reticle.lua +++ b/lua/plugins/reticle.lua @@ -4,5 +4,73 @@ return { 'tummetott/reticle.nvim', enabled = true, lazy = true, - event = 'VeryLazy' + 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 = {}, + } + } } diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index 13b38ce..98cf837 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -5,10 +5,10 @@ return { enabled = true, lazy = true, keys = { - { '', 'Telescope find_files', mode = { 'n', 'i', 'v', 't' }, desc = 'Telescope find', noremap = true, silent = true }, - { '', 'Telescope live_grep', mode = { 'n', 'i', 'v', 't' }, desc = 'Telescope grep', noremap = true, silent = true }, - { '', 'Telescope buffers', mode = { 'n', 'i', 'v', 't' }, desc = 'Telescope buffers', noremap = true, silent = true }, - { '?', 'Telescope help_tags', mode = { 'n', 'i', 'v', 't' }, desc = 'Telescope help', noremap = true, silent = true }, + { '', 'Telescope find_files', mode = { 'n', 'i', 'v', 't' }, desc = 'Telescope find', noremap = true, silent = true }, + { '', 'Telescope live_grep', mode = { 'n', 'i', 'v', 't' }, desc = 'Telescope grep', noremap = true, silent = true }, + { '', 'Telescope buffers', mode = { 'n', 'i', 'v', 't' }, desc = 'Telescope buffers', noremap = true, silent = true }, + { '?', 'Telescope help_tags', mode = { 'n', 'i', 'v', 't' }, desc = 'Telescope help', noremap = true, silent = true }, }, dependencies = { -- Functions for Telescope diff --git a/lua/plugins/trouble.lua b/lua/plugins/trouble.lua index 4693e81..15463e8 100644 --- a/lua/plugins/trouble.lua +++ b/lua/plugins/trouble.lua @@ -4,11 +4,16 @@ return { 'folke/trouble.nvim', enabled = true, - lazy = true, + lazy = false, cmd = 'Trouble', keys = { { '', 'Trouble diagnostics toggle', mode = { 'n', 'i', 'v', 't' }, desc = 'Diagnostics (Trouble)', noremap = true, silent = true }, }, - opts = {}, - config = function() end + 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' } + } }