haskell-config for nvim & ge_proton install script
This commit is contained in:
@ -1,7 +1,6 @@
|
||||
{
|
||||
"extras": [
|
||||
"lazyvim.plugins.extras.coding.blink",
|
||||
"lazyvim.plugins.extras.coding.luasnip",
|
||||
"lazyvim.plugins.extras.coding.mini-comment",
|
||||
"lazyvim.plugins.extras.coding.mini-snippets",
|
||||
"lazyvim.plugins.extras.coding.mini-surround",
|
||||
@ -16,6 +15,7 @@
|
||||
"lazyvim.plugins.extras.editor.snacks_picker",
|
||||
"lazyvim.plugins.extras.editor.telescope",
|
||||
"lazyvim.plugins.extras.formatting.prettier",
|
||||
"lazyvim.plugins.extras.lang.haskell",
|
||||
"lazyvim.plugins.extras.lang.json",
|
||||
"lazyvim.plugins.extras.lang.markdown",
|
||||
"lazyvim.plugins.extras.lang.nix",
|
||||
|
@ -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
|
||||
|
18
nvim-config/lua/plugins/haskell-snippets.lua
Normal file
18
nvim-config/lua/plugins/haskell-snippets.lua
Normal 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,
|
||||
}
|
25
nvim-config/lua/plugins/haskell.lua
Normal file
25
nvim-config/lua/plugins/haskell.lua
Normal 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,
|
||||
},
|
||||
}
|
21
nvim-config/lua/plugins/snippets.lua
Normal file
21
nvim-config/lua/plugins/snippets.lua
Normal 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,
|
||||
}
|
@ -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 = {
|
||||
|
Reference in New Issue
Block a user