From 1f8a7a4eda5b565feacecee13e10bf780a3a2cdd Mon Sep 17 00:00:00 2001 From: Tawfeeq Date: Fri, 20 Sep 2024 23:47:43 +0200 Subject: [PATCH] c sharp --- README.md | 12 +- after/queries/golang/highlights.scm | 1 + init.lua | 35 +++- lua/custom/plugins/darkrose.lua | 6 +- lua/custom/plugins/jellybeans.lua | 7 +- lua/custom/plugins/kanagawa.lua | 5 + lua/custom/plugins/material-gruvbox.lua | 1 + lua/custom/plugins/material.lua | 4 +- lua/custom/plugins/miasma.lua | 7 +- lua/custom/plugins/nightfox.lua | 1 + lua/custom/plugins/nvim-material-icon.lua | 1 + lua/custom/plugins/obscure.lua | 1 + lua/custom/plugins/roslyn.lua | 28 +++ lua/custom/plugins/tairiki.lua | 10 + lua/kickstart/plugins/neo-tree.lua | 217 ++-------------------- 15 files changed, 107 insertions(+), 229 deletions(-) create mode 100644 after/queries/golang/highlights.scm create mode 100644 lua/custom/plugins/material-gruvbox.lua create mode 100644 lua/custom/plugins/nightfox.lua create mode 100644 lua/custom/plugins/nvim-material-icon.lua create mode 100644 lua/custom/plugins/obscure.lua create mode 100644 lua/custom/plugins/roslyn.lua create mode 100644 lua/custom/plugins/tairiki.lua diff --git a/README.md b/README.md index 3f19854c..e14cbe22 100644 --- a/README.md +++ b/README.md @@ -28,8 +28,8 @@ External Requirements: - A [Nerd Font](https://www.nerdfonts.com/): optional, provides various icons - if you have it set `vim.g.have_nerd_font` in `init.lua` to true - Language Setup: - - If want to write Typescript, you need `npm` - - If want to write Golang, you will need `go` + - If you want to write Typescript, you need `npm` + - If you want to write Golang, you will need `go` - etc. > **NOTE** @@ -59,6 +59,10 @@ fork to your machine using one of the commands below, depending on your OS. > Your fork's url will be something like this: > `https://github.com//kickstart.nvim.git` +You likely want to remove `lazy-lock.json` from your fork's `.gitignore` file +too - it's ignored in the kickstart repo to make maintenance easier, but it's +[recommmended to track it in version control](https://lazy.folke.io/usage/lockfile). + #### Clone kickstart.nvim > **NOTE** > If following the recommended step above (i.e., forking the repo), replace @@ -77,13 +81,13 @@ git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HO If you're using `cmd.exe`: ``` -git clone https://github.com/nvim-lua/kickstart.nvim.git %localappdata%\nvim\ +git clone https://github.com/nvim-lua/kickstart.nvim.git "%localappdata%\nvim" ``` If you're using `powershell.exe` ``` -git clone https://github.com/nvim-lua/kickstart.nvim.git $env:LOCALAPPDATA\nvim\ +git clone https://github.com/nvim-lua/kickstart.nvim.git "${env:LOCALAPPDATA}\nvim" ``` diff --git a/after/queries/golang/highlights.scm b/after/queries/golang/highlights.scm new file mode 100644 index 00000000..350e1a1a --- /dev/null +++ b/after/queries/golang/highlights.scm @@ -0,0 +1 @@ +"return" @keyword.return diff --git a/init.lua b/init.lua index f2e68e5a..1ad294f9 100644 --- a/init.lua +++ b/init.lua @@ -92,7 +92,9 @@ I hope you enjoy your Neovim journey, P.S. You can delete this when you're done too. It's your config now! :) --]] +-- vim.api.nvim_set_hl(0, 'ReturnKeyword', { fg = '#FF0000', bold = true }) -- Your existing Neovim configurations.. +vim.lsp.inlay_hint.enable() vim.opt.tabstop = 4 vim.opt.shiftwidth = 4 vim.opt.softtabstop = 4 @@ -767,7 +769,7 @@ require('lazy').setup({ dependencies = { -- `friendly-snippets` contains a variety of premade snippets. -- See the README about individual language/framework/plugin snippets: - -- https://github.com/rafamadriz/friendly-snippets + -- https://github.com/rafamadriz/friendly-snippetjs -- { -- 'rafamadriz/friendly-snippets', -- config = function() @@ -875,9 +877,9 @@ require('lazy').setup({ -- Load the colorscheme here. -- Like many other themes, this one has different styles, and you could load -- any other, such as 'tokyonight-storm', 'tokyonight-moon', or 'tokyonight-day'. - -- vim.cmd.colorscheme 'tokyonight-night' - vim.cmd.colorscheme 'kanagawa' - -- vim.cmd.colorscheme 'tokyonight' + -- vim.cmd.colorscheme 'kanagawa' + -- vim.cmd.colorscheme 'obscure' + vim.cmd.colorscheme 'rose-pine' -- You can configure highlights by doing something like: vim.cmd.hi 'Comment gui=none' end, @@ -927,7 +929,23 @@ require('lazy').setup({ 'nvim-treesitter/nvim-treesitter', build = ':TSUpdate', opts = { - ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' }, + ensure_installed = { + 'bash', + 'c', + 'diff', + 'html', + 'lua', + 'luadoc', + 'markdown', + 'markdown_inline', + 'query', + 'vim', + 'vimdoc', + 'c_sharp', + 'python', + 'typescript', + 'javascript', + }, -- Autoinstall languages that are not installed auto_install = true, highlight = { @@ -938,10 +956,13 @@ require('lazy').setup({ additional_vim_regex_highlighting = { 'ruby' }, }, indent = { enable = true, disable = { 'ruby' } }, + -- custom_captures = { + -- -- Highlight the `return` keyword with the `ReturnKeyword` group + -- ['@keyword.return'] = 'ReturnKeyword', + -- }, }, config = function(_, opts) -- [[ Configure Treesitter ]] See `:help nvim-treesitter` - -- Prefer git instead of curl in order to improve connectivity in some environments require('nvim-treesitter.install').prefer_git = true ---@diagnostic disable-next-line: missing-fields @@ -964,7 +985,6 @@ require('lazy').setup({ -- -- Here are some example plugins that I've included in the Kickstart repository. -- Uncomment any of the lines below to enable them (you will need to restart nvim). - -- require 'kickstart.plugins.debug', require 'kickstart.plugins.indent_line', require 'kickstart.plugins.lint', @@ -999,6 +1019,5 @@ require('lazy').setup({ }, }, }) - -- The line beneath this is called `modeline`. See `:help modeline` -- vim: ts=2 sts=2 sw=2 et diff --git a/lua/custom/plugins/darkrose.lua b/lua/custom/plugins/darkrose.lua index b7f3b7ce..0e42e228 100644 --- a/lua/custom/plugins/darkrose.lua +++ b/lua/custom/plugins/darkrose.lua @@ -1,5 +1 @@ -return { - 'water-sucks/darkrose.nvim', - lazy = false, - priority = 1000, -} +return { 'water-sucks/darkrose.nvim' } diff --git a/lua/custom/plugins/jellybeans.lua b/lua/custom/plugins/jellybeans.lua index 1cdca9c2..c066935f 100644 --- a/lua/custom/plugins/jellybeans.lua +++ b/lua/custom/plugins/jellybeans.lua @@ -1,6 +1 @@ -return { - { - 'metalelf0/jellybeans-nvim', - dependencies = { 'rktjmp/lush.nvim' }, - }, -} +return { 'nanotech/jellybeans.vim' } diff --git a/lua/custom/plugins/kanagawa.lua b/lua/custom/plugins/kanagawa.lua index 9549058d..1e9295ef 100644 --- a/lua/custom/plugins/kanagawa.lua +++ b/lua/custom/plugins/kanagawa.lua @@ -2,12 +2,17 @@ return { 'rebelot/kanagawa.nvim', config = function() require('kanagawa').setup { + statementStyle = { italic = false }, + functionStyle = { italic = false }, + typeStyle = { italic = false }, colors = { palette = { -- change all usages of these colors sumiInk0 = '#0D0D0D', fujiWhite = '#FFFFFF', }, + keywordStyle = { italic = false }, + commentStyle = { italic = false }, theme = { -- change specific usages for a certain theme, or for all of them wave = { diff --git a/lua/custom/plugins/material-gruvbox.lua b/lua/custom/plugins/material-gruvbox.lua new file mode 100644 index 00000000..bf9964c4 --- /dev/null +++ b/lua/custom/plugins/material-gruvbox.lua @@ -0,0 +1 @@ +return { 'sainnhe/gruvbox-material' } diff --git a/lua/custom/plugins/material.lua b/lua/custom/plugins/material.lua index 359ebe63..e609729b 100644 --- a/lua/custom/plugins/material.lua +++ b/lua/custom/plugins/material.lua @@ -1 +1,3 @@ -return { 'marko-cerovac/material.nvim' } +return { + 'marko-cerovac/material.nvim', +} diff --git a/lua/custom/plugins/miasma.lua b/lua/custom/plugins/miasma.lua index 0c3bd050..59e499d2 100644 --- a/lua/custom/plugins/miasma.lua +++ b/lua/custom/plugins/miasma.lua @@ -1,5 +1,8 @@ return { 'xero/miasma.nvim', - lazy = false, - priority = 1000, + -- lazy = false, + -- priority = 1000, + -- config = function() + -- vim.cmd 'colorscheme miasma' + -- end, } diff --git a/lua/custom/plugins/nightfox.lua b/lua/custom/plugins/nightfox.lua new file mode 100644 index 00000000..af0402c5 --- /dev/null +++ b/lua/custom/plugins/nightfox.lua @@ -0,0 +1 @@ +return { 'EdenEast/nightfox.nvim' } diff --git a/lua/custom/plugins/nvim-material-icon.lua b/lua/custom/plugins/nvim-material-icon.lua new file mode 100644 index 00000000..df927c20 --- /dev/null +++ b/lua/custom/plugins/nvim-material-icon.lua @@ -0,0 +1 @@ +return { 'DaikyXendo/nvim-material-icon' } diff --git a/lua/custom/plugins/obscure.lua b/lua/custom/plugins/obscure.lua new file mode 100644 index 00000000..51425c00 --- /dev/null +++ b/lua/custom/plugins/obscure.lua @@ -0,0 +1 @@ +return { 'killitar/obscure.nvim' } diff --git a/lua/custom/plugins/roslyn.lua b/lua/custom/plugins/roslyn.lua new file mode 100644 index 00000000..6564f03b --- /dev/null +++ b/lua/custom/plugins/roslyn.lua @@ -0,0 +1,28 @@ +return { + 'seblj/roslyn.nvim', + ft = 'cs', + opts = { + -- your configuration comes here; leave empty for default settings + config = { + settings = { + ['csharp|inlay_hints'] = { + csharp_enable_inlay_hints_for_implicit_object_creation = true, + csharp_enable_inlay_hints_for_implicit_variable_types = true, + csharp_enable_inlay_hints_for_lambda_parameter_types = true, + csharp_enable_inlay_hints_for_types = true, + dotnet_enable_inlay_hints_for_indexer_parameters = true, + dotnet_enable_inlay_hints_for_literal_parameters = true, + dotnet_enable_inlay_hints_for_object_creation_parameters = true, + dotnet_enable_inlay_hints_for_other_parameters = true, + dotnet_enable_inlay_hints_for_parameters = true, + dotnet_suppress_inlay_hints_for_parameters_that_differ_only_by_suffix = true, + dotnet_suppress_inlay_hints_for_parameters_that_match_argument_name = true, + dotnet_suppress_inlay_hints_for_parameters_that_match_method_intent = true, + }, + ['csharp|code_lens'] = { + dotnet_enable_references_code_lens = true, + }, + }, + }, + }, +} diff --git a/lua/custom/plugins/tairiki.lua b/lua/custom/plugins/tairiki.lua new file mode 100644 index 00000000..860e5ba1 --- /dev/null +++ b/lua/custom/plugins/tairiki.lua @@ -0,0 +1,10 @@ +return { + 'deparr/tairiki.nvim', + lazy = false, + priority = 1000, -- only necessary if you use tairiki as default theme + config = function() + require('tairiki').setup { + style = 'dark', + } + end, +} diff --git a/lua/kickstart/plugins/neo-tree.lua b/lua/kickstart/plugins/neo-tree.lua index 3e99b470..bd442269 100644 --- a/lua/kickstart/plugins/neo-tree.lua +++ b/lua/kickstart/plugins/neo-tree.lua @@ -1,214 +1,25 @@ +-- Neo-tree is a Neovim plugin to browse the file system +-- https://github.com/nvim-neo-tree/neo-tree.nvim + return { 'nvim-neo-tree/neo-tree.nvim', - branch = 'v3.x', - requires = { + version = '*', + dependencies = { 'nvim-lua/plenary.nvim', 'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended 'MunifTanjim/nui.nvim', - { - 's1n7ax/nvim-window-picker', - version = '2.*', - config = function() - require('window-picker').setup { - filter_rules = { - include_current_win = false, - autoselect_one = true, - bo = { - filetype = { 'neo-tree', 'neo-tree-popup', 'notify' }, - buftype = { 'terminal', 'quickfix' }, - }, - }, - } - end, - }, }, - config = function() - vim.fn.sign_define('DiagnosticSignError', { text = ' ', texthl = 'DiagnosticSignError' }) - vim.fn.sign_define('DiagnosticSignWarn', { text = ' ', texthl = 'DiagnosticSignWarn' }) - vim.fn.sign_define('DiagnosticSignInfo', { text = ' ', texthl = 'DiagnosticSignInfo' }) - vim.fn.sign_define('DiagnosticSignHint', { text = '󰌵', texthl = 'DiagnosticSignHint' }) - - require('neo-tree').setup { - close_if_last_window = false, - popup_border_style = 'rounded', - enable_git_status = true, - enable_diagnostics = true, - open_files_do_not_replace_types = { 'terminal', 'trouble', 'qf' }, - sort_case_insensitive = false, - sort_function = nil, - default_component_configs = { - container = { enable_character_fade = true }, - indent = { - indent_size = 2, - padding = 1, - with_markers = true, - indent_marker = '│', - last_indent_marker = '└', - highlight = 'NeoTreeIndentMarker', - with_expanders = nil, - expander_collapsed = '', - expander_expanded = '', - expander_highlight = 'NeoTreeExpander', - }, - icon = { - folder_closed = '', - folder_open = '', - folder_empty = '󰜌', - default = '*', - highlight = 'NeoTreeFileIcon', - }, - modified = { - symbol = '[+]', - highlight = 'NeoTreeModified', - }, - name = { - trailing_slash = false, - use_git_status_colors = true, - highlight = 'NeoTreeFileName', - }, - git_status = { - symbols = { - added = '', - modified = '', - deleted = '✖', - renamed = '󰁕', - untracked = '', - ignored = '', - unstaged = '󰄱', - staged = '', - conflict = '', - }, - }, - file_size = { enabled = true, required_width = 64 }, - type = { enabled = true, required_width = 122 }, - last_modified = { enabled = true, required_width = 88 }, - created = { enabled = true, required_width = 110 }, - symlink_target = { enabled = false }, - }, - commands = {}, + cmd = 'Neotree', + keys = { + { '\\', ':Neotree reveal', desc = 'NeoTree reveal', silent = true }, + }, + opts = { + filesystem = { window = { - position = 'right', -- Set the position of Neo-tree window to the right - mapping_options = { - noremap = true, - nowait = true, - }, mappings = { - [''] = { 'toggle_node', nowait = false }, - ['<2-LeftMouse>'] = 'open', - [''] = 'open', - [''] = 'cancel', - ['P'] = { 'toggle_preview', config = { use_float = true, use_image_nvim = true } }, - ['l'] = 'focus_preview', - ['S'] = 'open_split', - ['s'] = 'open_vsplit', - ['t'] = 'open_tabnew', - ['w'] = 'open_with_window_picker', - ['C'] = 'close_node', - ['z'] = 'close_all_nodes', - ['a'] = { - 'add', - config = { show_path = 'none' }, - }, - ['A'] = 'add_directory', - ['d'] = 'delete', - ['r'] = 'rename', - ['y'] = 'copy_to_clipboard', - ['x'] = 'cut_to_clipboard', - ['p'] = 'paste_from_clipboard', - ['c'] = 'copy', - ['m'] = 'move', - ['q'] = 'close_window', - ['R'] = 'refresh', - ['?'] = 'show_help', - ['<'] = 'prev_source', - ['>'] = 'next_source', - ['i'] = 'show_file_details', + ['\\'] = 'close_window', }, }, - nesting_rules = {}, - filesystem = { - filtered_items = { - visible = false, - hide_dotfiles = true, - hide_gitignored = true, - hide_hidden = true, - }, - follow_current_file = { enabled = false, leave_dirs_open = false }, - group_empty_dirs = false, - hijack_netrw_behavior = 'open_default', - use_libuv_file_watcher = false, - window = { - mappings = { - [''] = 'navigate_up', - ['.'] = 'set_root', - ['H'] = 'toggle_hidden', - ['/'] = 'fuzzy_finder', - ['D'] = 'fuzzy_finder_directory', - ['#'] = 'fuzzy_sorter', - ['f'] = 'filter_on_submit', - [''] = 'clear_filter', - ['[g'] = 'prev_git_modified', - [']g'] = 'next_git_modified', - ['o'] = { 'show_help', nowait = false, config = { title = 'Order by', prefix_key = 'o' } }, - ['oc'] = { 'order_by_created', nowait = false }, - ['od'] = { 'order_by_diagnostics', nowait = false }, - ['og'] = { 'order_by_git_status', nowait = false }, - ['om'] = { 'order_by_modified', nowait = false }, - ['on'] = { 'order_by_name', nowait = false }, - ['os'] = { 'order_by_size', nowait = false }, - ['ot'] = { 'order_by_type', nowait = false }, - }, - fuzzy_finder_mappings = { - [''] = 'move_cursor_down', - [''] = 'move_cursor_down', - [''] = 'move_cursor_up', - [''] = 'move_cursor_up', - }, - }, - commands = {}, - }, - buffers = { - follow_current_file = { enabled = true, leave_dirs_open = false }, - group_empty_dirs = true, - show_unloaded = true, - window = { - mappings = { - ['bd'] = 'buffer_delete', - [''] = 'navigate_up', - ['.'] = 'set_root', - ['o'] = { 'show_help', nowait = false, config = { title = 'Order by', prefix_key = 'o' } }, - ['oc'] = { 'order_by_created', nowait = false }, - ['od'] = { 'order_by_diagnostics', nowait = false }, - ['om'] = { 'order_by_modified', nowait = false }, - ['on'] = { 'order_by_name', nowait = false }, - ['os'] = { 'order_by_size', nowait = false }, - ['ot'] = { 'order_by_type', nowait = false }, - }, - }, - }, - git_status = { - window = { - position = 'float', - mappings = { - ['A'] = 'git_add_all', - ['gu'] = 'git_unstage_file', - ['ga'] = 'git_add_file', - ['gr'] = 'git_revert_file', - ['gc'] = 'git_commit', - ['gp'] = 'git_push', - ['gg'] = 'git_commit_and_push', - ['o'] = { 'show_help', nowait = false, config = { title = 'Order by', prefix_key = 'o' } }, - ['oc'] = { 'order_by_created', nowait = false }, - ['od'] = { 'order_by_diagnostics', nowait = false }, - ['om'] = { 'order_by_modified', nowait = false }, - ['on'] = { 'order_by_name', nowait = false }, - ['os'] = { 'order_by_size', nowait = false }, - ['ot'] = { 'order_by_type', nowait = false }, - }, - }, - }, - } - - vim.cmd [[nnoremap \ :Neotree reveal]] - end, + }, + }, }