diff --git a/nvim-config/lazyvim.json b/nvim-config/lazyvim.json index cdeb243..84fd487 100644 --- a/nvim-config/lazyvim.json +++ b/nvim-config/lazyvim.json @@ -33,7 +33,7 @@ ], "install_version": 8, "news": { - "NEWS.md": "10960" + "NEWS.md": "11866" }, "version": 8 } \ No newline at end of file diff --git a/nvim-config/lua/plugins/avante.lua b/nvim-config/lua/plugins/avante.lua index 629ce39..5dddafd 100644 --- a/nvim-config/lua/plugins/avante.lua +++ b/nvim-config/lua/plugins/avante.lua @@ -7,29 +7,28 @@ return { -- for example provider = "ollama", mode = "legacy", - disable_tools = true, - behaviour = { - enable_cursor_planning_mode = true, -- enable cursor planning mode! - }, + auto_suggestions_provider = nil, + memory_summary_provider = nil, providers = { ollama = { endpoint = "http://gpu.dighist.geschichte.hu-berlin.de:11434", - model = "cogito:32b", -- your desired model (or use gpt-4o, etc.) - timeout = 30000, -- Timeout in milliseconds, increase this for reasoning models - temperature = 0, - max_completion_tokens = 40000, -- Increase this to include reasoning tokens (for reasoning models) - stream = true, - thinking = true, - disable_tools = true, + model = "qwen3:30b", + timeout = 300000, -- Timeout in milliseconds, increase this for reasoning models + extra_request_body = { + stream = false, + think = false, + keep_alive = -1, + options = { + keep_alive = -1, + temperature = 0.75, + num_ctx = 40000, + }, + }, --system_prompt = "Enable deep thinking subroutine.", -- reasoning_effort = "high", -- low|medium|high, only used for reasoning models - }, - deepthink = { - __inherited_from = "ollama", - model = "qwen3:32b", - max_completion_tokens = 40000, - reasoning_effort = "high", - disable_tools = true, + is_env_set = function() + return true + end, }, }, rag_service = { @@ -40,6 +39,13 @@ return { embed_model = "nomic-embed-text", -- The embedding model to use for RAG service endpoint = "http://gpu.dighist.geschichte.hu-berlin.de:11434", -- The API endpoint for RAG service }, + selector = { + provider = "snacks", + }, + input = { + provider = "snacks", + }, + disabled_tools = { "web_search" }, }, -- if you want to build from source then do `make BUILD_FROM_SOURCE=true` build = "make", @@ -50,7 +56,7 @@ return { "nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim", --- The below dependencies are optional, - "echasnovski/mini.pick", -- for file_selector provider mini.pick + "nvim-mini/mini.pick", -- for file_selector provider mini.pick "nvim-telescope/telescope.nvim", -- for file_selector provider telescope "hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions "ibhagwan/fzf-lua", -- for file_selector provider fzf diff --git a/nvim-config/lua/plugins/blink.cmp.lua b/nvim-config/lua/plugins/blink.cmp.lua index d63b01a..6780c01 100644 --- a/nvim-config/lua/plugins/blink.cmp.lua +++ b/nvim-config/lua/plugins/blink.cmp.lua @@ -1,37 +1,22 @@ return { "saghen/blink.cmp", dependencies = { - -- "Kaiser-Yang/blink-cmp-avante", - -- ... Other dependencies + "Kaiser-Yang/blink-cmp-avante", + { "L3MON4D3/LuaSnip", version = "v2.*" }, }, opts = { signature = { enabled = true }, fuzzy = { implementation = "prefer_rust" }, - keymap = { - [""] = { - function(cmp) - cmp.show({ providers = { "minuet" } }) - end, - }, - }, + snippets = { preset = "luasnip" }, sources = { - default = { "lsp", "path", "buffer", "minuet" }, + default = { "lsp", "path", "avante", "snippets", "buffer" }, providers = { - -- avante = { - -- module = "blink-cmp-avante", - -- name = "Avante", - -- opts = { - -- -- options for blink-cmp-avante - -- }, - -- }, - minuet = { - name = "minuet", - module = "minuet.blink", - async = true, - -- Should match minuet.config.request_timeout * 1000, - -- since minuet.config.request_timeout is in seconds - timeout_ms = 10000, - score_offset = 50, -- Gives minuet higher priority among suggestions + avante = { + module = "blink-cmp-avante", + name = "Avante", + opts = { + -- options for blink-cmp-avante + }, }, }, }, diff --git a/nvim-config/lua/plugins/haskell-snippets.lua b/nvim-config/lua/plugins/haskell-snippets.lua deleted file mode 100644 index bf8bf2e..0000000 --- a/nvim-config/lua/plugins/haskell-snippets.lua +++ /dev/null @@ -1,18 +0,0 @@ -return { - "mrcjkb/haskell-snippets.nvim", - ft = { "haskell", "lhaskell", "cabal" }, - dependencies = { "L3MON4D3/LuaSnip" }, - -- falls Lazy mal falsch cached: lade LuaSnip aktiv vorher - init = function() - if not package.loaded["luasnip"] then - local ok, lazy = pcall(require, "lazy") - if ok then - lazy.load({ plugins = { "LuaSnip" } }) - end - end - end, - -- lade nur, wenn require("luasnip") wirklich klappt - cond = function() - return package.loaded["luasnip"] or pcall(require, "luasnip") - end, -} diff --git a/nvim-config/lua/plugins/haskell.lua b/nvim-config/lua/plugins/haskell.lua index 57a054b..cdb4245 100644 --- a/nvim-config/lua/plugins/haskell.lua +++ b/nvim-config/lua/plugins/haskell.lua @@ -1,9 +1,11 @@ return { "mrcjkb/haskell-tools.nvim", ft = { "haskell", "lhaskell", "cabal" }, + dependencies = { "L3MON4D3/LuaSnip", "nvim-treesitter/nvim-treesitter" }, opts = { hls = { + cmd = { "haskell-language-server-wrapper", "--lsp" }, settings = { haskell = { formattingProvider = "fourmolu", @@ -21,5 +23,18 @@ return { client.server_capabilities.documentFormattingProvider = false end end, + -- falls Lazy mal falsch cached: lade LuaSnip aktiv vorher + init = function() + if not package.loaded["luasnip"] then + local ok, lazy = pcall(require, "lazy") + if ok then + lazy.load({ plugins = { "LuaSnip" } }) + end + end + end, + -- lade nur, wenn require("luasnip") wirklich klappt + cond = function() + return package.loaded["luasnip"] or pcall(require, "luasnip") + end, }, } diff --git a/nvim-config/lua/plugins/lualine.lua b/nvim-config/lua/plugins/lualine.lua deleted file mode 100644 index 3f82d9e..0000000 --- a/nvim-config/lua/plugins/lualine.lua +++ /dev/null @@ -1,27 +0,0 @@ -return { - { - "nvim-lualine/lualine.nvim", - event = "VeryLazy", - config = function(_, opts) - require("lualine").setup({ - sections = { - lualine_x = { - { - require("minuet.lualine"), - -- the follwing is the default configuration - -- the name displayed in the lualine. Set to "provider", "model" or "both" - -- display_name = 'both', - -- separator between provider and model name for option "both" - -- provider_model_separator = ':', - -- whether show display_name when no completion requests are active - -- display_on_idle = false, - }, - "encoding", - "fileformat", - "filetype", - }, - }, - }) - end, - }, -} diff --git a/nvim-config/lua/plugins/mason-exclude-hls.lua b/nvim-config/lua/plugins/mason-exclude-hls.lua new file mode 100644 index 0000000..d25f7ec --- /dev/null +++ b/nvim-config/lua/plugins/mason-exclude-hls.lua @@ -0,0 +1,22 @@ +return { + { + "mason-org/mason-lspconfig.nvim", + opts = function(_, opts) + -- nichts automatisch installieren für HLS + opts.automatic_installation = true -- für alle anderen weiterhin an + local list = opts.ensure_installed or {} + local keep = {} + for _, name in ipairs(list) do + if name ~= "hls" and name ~= "haskell_language_server" then + table.insert(keep, name) + end + end + opts.ensure_installed = keep + end, + }, + -- Mason soll PATH nicht voranstellen + { + "mason-org/mason.nvim", + opts = { PATH = "append" }, + }, +} diff --git a/nvim-config/lua/plugins/minuet-ai.lua b/nvim-config/lua/plugins/minuet-ai.lua index 8923b67..f38da7c 100644 --- a/nvim-config/lua/plugins/minuet-ai.lua +++ b/nvim-config/lua/plugins/minuet-ai.lua @@ -1,7 +1,7 @@ local function get_text_fn(json) return json.response end - +--[[ return { { "milanglacier/minuet-ai.nvim", @@ -120,3 +120,5 @@ return { }, { "nvim-lua/plenary.nvim" }, } +]] +return {} diff --git a/nvim-config/lua/plugins/no-haskell-lsp.lua b/nvim-config/lua/plugins/no-haskell-lsp.lua new file mode 100644 index 0000000..e9a6514 --- /dev/null +++ b/nvim-config/lua/plugins/no-haskell-lsp.lua @@ -0,0 +1,13 @@ +return { + { + "neovim/nvim-lspconfig", + opts = { + servers = { + haskell_language_server = false, + haskell_language_server_wrapper = false, + hls = false, + hie = false, + }, + }, + }, +} diff --git a/nvim-config/lua/plugins/nvim-treesitter.lua b/nvim-config/lua/plugins/nvim-treesitter.lua index 2f4eaf1..e56af8c 100644 --- a/nvim-config/lua/plugins/nvim-treesitter.lua +++ b/nvim-config/lua/plugins/nvim-treesitter.lua @@ -1,25 +1,27 @@ -local opts = { - ensure_installed = { - 'c', - 'lua', - 'vim', - 'bash', - 'regex', - 'vimdoc', - 'query', - 'markdown', - 'markdown_inline', - }, - highlight = { - enable = true - } -} - -local function config() - require('nvim-treesitter.configs').setup(opts) -end return { - 'nvim-treesitter/nvim-treesitter', - config = config, - build = ':TSUpdate', + { + "nvim-treesitter/nvim-treesitter", + version = false, + lazy = false, -- <- wichtig: vor FileType-Kram geladen + priority = 1000, -- <- noch davor + build = ":TSUpdate", + main = "nvim-treesiter.configs", + opts = function(_, opts) + opts = opts or {} + opts.ensure_installed = vim.tbl_extend("force", opts.ensure_installed or {}, { + "haskell", + "lua", + "vim", + "bash", + "regex", + "vimdoc", + "query", + "markdown", + "markdown_inline", + }) + opts.highlight = opts.highlight or {} + opts.highlight.enable = true + return opts + end, + }, } diff --git a/nvim-config/lua/plugins/snippets.lua b/nvim-config/lua/plugins/snippets.lua index 12101fd..6f76b19 100644 --- a/nvim-config/lua/plugins/snippets.lua +++ b/nvim-config/lua/plugins/snippets.lua @@ -1,21 +1,23 @@ return { - "L3MON4D3/LuaSnip", - version = "v2.*", - lazy = false, -- früh laden - priority = 1000, -- vor anderem Zeug - dependencies = { "rafamadriz/friendly-snippets" }, - build = (function() - return (vim.fn.executable("make") == 1) and "make install_jsregexp" or nil - end)(), - config = function() - require("luasnip").config.set_config({ - history = true, - updateevents = "TextChanged,TextChangedI", - enable_autosnippets = true, - }) - require("luasnip.loaders.from_vscode").lazy_load() - require("luasnip.loaders.from_lua").lazy_load({ - paths = vim.fn.stdpath("config") .. "/lua/snippets", - }) - end, + { + "L3MON4D3/LuaSnip", + version = "v2.*", + lazy = false, -- früh laden + priority = 1000, -- vor anderem Zeug + dependencies = { "rafamadriz/friendly-snippets" }, + build = (function() + return (vim.fn.executable("make") == 1) and "make install_jsregexp" or nil + end)(), + config = function() + require("luasnip").config.set_config({ + history = true, + updateevents = "TextChanged,TextChangedI", + enable_autosnippets = true, + }) + require("luasnip.loaders.from_vscode").lazy_load() + require("luasnip.loaders.from_lua").lazy_load({ + paths = vim.fn.stdpath("config") .. "/lua/snippets", + }) + end, + }, }