haskell-config for nvim & ge_proton install script

This commit is contained in:
Nicole Dresselhaus
2025-09-12 10:57:44 +02:00
parent 41e1067647
commit 014ec633b7
7 changed files with 108 additions and 3 deletions

View File

@ -6,6 +6,8 @@ return {
-- add any opts here
-- for example
provider = "ollama",
mode = "legacy",
disable_tools = true,
behaviour = {
enable_cursor_planning_mode = true, -- enable cursor planning mode!
},
@ -18,6 +20,7 @@ return {
max_completion_tokens = 40000, -- Increase this to include reasoning tokens (for reasoning models)
stream = true,
thinking = true,
disable_tools = true,
--system_prompt = "Enable deep thinking subroutine.",
-- reasoning_effort = "high", -- low|medium|high, only used for reasoning models
},
@ -26,10 +29,11 @@ return {
model = "qwen3:32b",
max_completion_tokens = 40000,
reasoning_effort = "high",
disable_tools = true,
},
},
rag_service = {
enabled = true, -- Enables the RAG service
enabled = false, -- Enables the RAG service
host_mount = os.getenv("HOME"), -- Host mount path for the rag service
provider = "ollama", -- The provider to use for RAG service (e.g. openai or ollama)
llm_model = "cogito", -- The LLM model to use for RAG service

View File

@ -0,0 +1,18 @@
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,
}

View File

@ -0,0 +1,25 @@
return {
"mrcjkb/haskell-tools.nvim",
ft = { "haskell", "lhaskell", "cabal" },
opts = {
hls = {
settings = {
haskell = {
formattingProvider = "fourmolu",
-- wir nutzen das interne Plugin, kein externes Binary nötig:
plugin = { fourmolu = { config = { external = false } } },
-- .cabal-Formatting komplett deaktivieren (sonst verlangt HLS cabal-fmt)
cabalFormattingProvider = "none",
},
},
},
-- optional: Safety im on_attach
on_attach = function(client, bufnr)
if vim.bo[bufnr].filetype == "cabal" then
client.server_capabilities.documentFormattingProvider = false
end
end,
},
}

View File

@ -0,0 +1,21 @@
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,
}

View File

@ -1,5 +1,6 @@
return {
{ "nvim-neotest/neotest-plenary", "nvim-neotest/neotest-jest" },
"nvim-neotest/neotest-plenary",
"nvim-neotest/neotest-jest",
{
"nvim-neotest/neotest",
opts = {