feat: add useful bind, start neogen integration for ocaml
This commit is contained in:
1 parent
0f16e5c642
commit
7065b85b2a
4 files changed
+67
-8
No files matched your search
@@ -37,6 +37,7 @@ keymap.set("n", "Q", ":q!<CR>", opts("quit file"))
|
||||
|
||||
-- Duplicate line
|
||||
keymap.set("n", "<leader>dd", ":t.<CR>", opts("Duplicate line"))
|
||||
keymap.set("n", "yc", "yy<cmd>normal gcc<CR>p", opts("Duplicate line, commenting original"))
|
||||
|
||||
-- LaTeX mappings
|
||||
keymap.set("n", "<leader>lc", utils.run_vim_cmd("VimtexCompile"), opts("Compile latex document")) -- Compile LaTeX file
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
return {
|
||||
"AvengeMedia/base46",
|
||||
lazy = true,
|
||||
opts = {},
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
local dap = require("dap")
|
||||
dap.adapters.ocamlearlybird = {
|
||||
type = "executable",
|
||||
command = "ocamlearlybird",
|
||||
args = { "debug" },
|
||||
}
|
||||
|
||||
dap.configurations.ocaml = {
|
||||
{
|
||||
name = "OCaml Debug test.bc",
|
||||
type = "ocamlearlybird",
|
||||
request = "launch",
|
||||
program = "${workspaceFolder}/_build/default/test/test.bc",
|
||||
},
|
||||
{
|
||||
name = "OCaml Debug main.bc",
|
||||
type = "ocamlearlybird",
|
||||
request = "launch",
|
||||
program = "${workspaceFolder}/_build/default/bin/main.bc",
|
||||
},
|
||||
}
|
||||
@@ -2,13 +2,55 @@ return {
|
||||
"danymat/neogen",
|
||||
opts = {
|
||||
snippet_engine = "luasnip",
|
||||
template = {
|
||||
ocamldoc = {
|
||||
{ nil, "(** $1 *)", { no_reults = true, type = { "func", "class", "type", "file" } } },
|
||||
},
|
||||
},
|
||||
languages = {
|
||||
ocaml = {
|
||||
template = {
|
||||
annotation_convention = "ocamldoc",
|
||||
},
|
||||
parent = {
|
||||
func = {
|
||||
"value_definition",
|
||||
},
|
||||
type = {
|
||||
"type_definition",
|
||||
},
|
||||
},
|
||||
data = {
|
||||
func = {
|
||||
func = {
|
||||
["value_definition"] = {
|
||||
["0"] = {
|
||||
extract = function()
|
||||
return {}
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
type = {
|
||||
["type_definition"] = {
|
||||
["0"] = {
|
||||
extract = function()
|
||||
return {}
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>gd", ":lua require('neogen').generate()<CR>", desc = "Autogenerate docs" },
|
||||
{ "<leader>gd", ":lua require('neogen').generate()<CR>", desc = "Autogenerate docs" },
|
||||
|
||||
{ "<leader>gg", ":lua require('neogen').generate( { type = 'func' } )<CR>", desc = "Generate function docs" },
|
||||
{ "<leader>gg", ":lua require('neogen').generate( { type = 'func' } )<CR>", desc = "Generate function docs" },
|
||||
|
||||
{ "<leader>gt", ":lua require('neogen').generate( { type = 'type' } )<CR>", desc = "Generate type docs" },
|
||||
{ "<leader>gt", ":lua require('neogen').generate( { type = 'type' } )<CR>", desc = "Generate type docs" },
|
||||
|
||||
{ "<leader>gc", ":lua require('neogen').generate( { type = 'class' } )<CR>", desc = "Generate class docs" },
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user