More snippets for purescript and stuff
This commit is contained in:
parent
4b3c896343
commit
2497c51550
|
@ -25,6 +25,7 @@ function M.setup()
|
||||||
|
|
||||||
-- Create chords
|
-- Create chords
|
||||||
if arpeggio ~= nil then
|
if arpeggio ~= nil then
|
||||||
|
arpeggio.chord("n", "vs", "<C-w>v") -- Create vertical split
|
||||||
arpeggio.chord("n", "vs", "<C-w>v") -- Create vertical split
|
arpeggio.chord("n", "vs", "<C-w>v") -- Create vertical split
|
||||||
arpeggio.chord("n", "ji", ":w<cr>") -- Saving
|
arpeggio.chord("n", "ji", ":w<cr>") -- Saving
|
||||||
arpeggio.chord("i", "jk", "<Esc>") -- Remap Esc to jk
|
arpeggio.chord("i", "jk", "<Esc>") -- Remap Esc to jk
|
||||||
|
|
|
@ -4,85 +4,86 @@ local arpeggio = require("my.plugins.arpeggio")
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
local bindings = {
|
local bindings = {
|
||||||
builtin = {
|
builtin = {
|
||||||
-- Open files with control + P
|
-- Open files with control + P
|
||||||
find_files = "<c-P>",
|
find_files = "<c-P>",
|
||||||
|
|
||||||
-- Search through files with control + F
|
-- Search through files with control + F
|
||||||
live_grep = "<c-F>",
|
live_grep = "<c-F>",
|
||||||
|
|
||||||
-- See diagnostics with space + d
|
-- See diagnostics with space + d
|
||||||
diagnostics = "<Leader>d",
|
diagnostics = "<Leader>d",
|
||||||
|
lsp_document_symbols = { chord = 1, key = "lds" },
|
||||||
|
|
||||||
-- Open a list with all the pickers
|
-- Open a list with all the pickers
|
||||||
builtin = "<Leader>t",
|
builtin = "<Leader>t",
|
||||||
|
|
||||||
-- List function, var names etc
|
-- List function, var names etc
|
||||||
treesitter = "<Leader>s",
|
treesitter = "<Leader>s",
|
||||||
|
|
||||||
-- Git stuff
|
-- Git stuff
|
||||||
git_commits = "<Leader>gj",
|
git_commits = "<Leader>gj",
|
||||||
git_branches = "<Leader>gk"
|
git_branches = "<Leader>gk"
|
||||||
},
|
},
|
||||||
["extensions.file_browser.file_browser"] = {chord = 1, key = "jp"},
|
["extensions.file_browser.file_browser"] = { chord = 1, key = "jp" },
|
||||||
extensions = {
|
extensions = {
|
||||||
unicode = {
|
unicode = {
|
||||||
picker = {mode = "i", kind = "dropdown", key = "ui", chord = 1}
|
picker = { mode = "i", kind = "dropdown", key = "ui", chord = 1 }
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
local function setupKeybinds(obj, path)
|
local function setupKeybinds(obj, path)
|
||||||
if path == nil then path = "" end
|
if path == nil then path = "" end
|
||||||
for name, keybinds in pairs(obj) do
|
for name, keybinds in pairs(obj) do
|
||||||
if (type(keybinds) == "table") and keybinds.key == nil then
|
if (type(keybinds) == "table") and keybinds.key == nil then
|
||||||
-- This means we found a table of keybinds, so we go deeper
|
-- This means we found a table of keybinds, so we go deeper
|
||||||
setupKeybinds(keybinds, path .. "." .. name)
|
setupKeybinds(keybinds, path .. "." .. name)
|
||||||
else
|
else
|
||||||
local config = keybinds
|
local config = keybinds
|
||||||
local pickerArgument = ""
|
local pickerArgument = ""
|
||||||
local key = config
|
local key = config
|
||||||
local mode = "n"
|
local mode = "n"
|
||||||
local bind = mapSilent
|
local bind = mapSilent
|
||||||
|
|
||||||
if type(config) == "table" then
|
if type(config) == "table" then
|
||||||
key = config.key
|
key = config.key
|
||||||
if config.mode ~= nil then mode = config.mode end
|
if config.mode ~= nil then mode = config.mode end
|
||||||
if config.kind ~= nil then
|
if config.kind ~= nil then
|
||||||
pickerArgument = "require('telescope.themes').get_" ..
|
pickerArgument = "require('telescope.themes').get_" ..
|
||||||
config.kind .. "({})"
|
config.kind .. "({})"
|
||||||
end
|
|
||||||
if config.chord then
|
|
||||||
-- Useful for insert mode bindings
|
|
||||||
bind = arpeggio.chordSilent
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Maps the keybind to the action
|
|
||||||
bind(mode, key,
|
|
||||||
"<cmd>lua require('telescope" .. path .. "')." .. name .. "(" ..
|
|
||||||
pickerArgument .. ")<CR>")
|
|
||||||
end
|
end
|
||||||
|
if config.chord then
|
||||||
|
-- Useful for insert mode bindings
|
||||||
|
bind = arpeggio.chordSilent
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Maps the keybind to the action
|
||||||
|
bind(mode, key,
|
||||||
|
"<cmd>lua require('telescope" .. path .. "')." .. name .. "(" ..
|
||||||
|
pickerArgument .. ")<CR>")
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.setup()
|
function M.setup()
|
||||||
setupKeybinds(bindings)
|
setupKeybinds(bindings)
|
||||||
|
|
||||||
local settings = {
|
local settings = {
|
||||||
defaults = {mappings = {i = {["<C-h>"] = "which_key"}}},
|
defaults = { mappings = { i = { ["<C-h>"] = "which_key" } } },
|
||||||
pickers = {find_files = {hidden = true}},
|
pickers = { find_files = { hidden = true } },
|
||||||
extensions = {
|
extensions = {
|
||||||
file_browser = {
|
file_browser = {
|
||||||
mappings = {
|
mappings = {
|
||||||
-- Comment so this does not get collapsed
|
-- Comment so this does not get collapsed
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
require("telescope").setup(settings)
|
require("telescope").setup(settings)
|
||||||
require("telescope").load_extension "file_browser"
|
require("telescope").load_extension "file_browser"
|
||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"Derive newtype instance": {
|
"Derive newtype instance": {
|
||||||
"prefix": "nderive",
|
"prefix": "gnderive",
|
||||||
"description": "Use newtype deriving on any typeclass",
|
"description": "Use newtype deriving on any typeclass",
|
||||||
"body": "derive newtype instance $0 $3 $2"
|
"body": "derive newtype instance $0 $3 $2"
|
||||||
},
|
},
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"Generic": {
|
"Generic": {
|
||||||
"prefix": "generic",
|
"prefix": "dgeneric",
|
||||||
"description": "Generate the generic instance for a type",
|
"description": "Generate the generic instance for a type",
|
||||||
"body": "derive instance Generic $1 _"
|
"body": "derive instance Generic $1 _"
|
||||||
},
|
},
|
||||||
|
@ -52,8 +52,26 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"Functor": {
|
"Functor": {
|
||||||
"prefix": "functor",
|
"prefix": "dfunctor",
|
||||||
"description": "Derive a Functor instance",
|
"description": "Derive a Functor instance",
|
||||||
"body": "derive instance Functor $1$0"
|
"body": "derive instance Functor $1$0"
|
||||||
|
},
|
||||||
|
"Eq": {
|
||||||
|
"prefix": "deq",
|
||||||
|
"description": "Derive an Eq instance",
|
||||||
|
"body": "derive instance Eq $1$0"
|
||||||
|
},
|
||||||
|
"Ord": {
|
||||||
|
"prefix": "dord",
|
||||||
|
"description": "Derive an Ord instance",
|
||||||
|
"body": "derive instance Ord $1$0"
|
||||||
|
},
|
||||||
|
"Eq & Ord": {
|
||||||
|
"prefix": "deqord",
|
||||||
|
"description": "Derive an Eq and an Ord instance",
|
||||||
|
"body": [
|
||||||
|
"derive instance Eq $1",
|
||||||
|
"derive instance Ord $1$0"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,5 +33,20 @@
|
||||||
"prefix": "impavar",
|
"prefix": "impavar",
|
||||||
"description": "import AVar module",
|
"description": "import AVar module",
|
||||||
"body": "import Effect.Aff.AVar as AV"
|
"body": "import Effect.Aff.AVar as AV"
|
||||||
|
},
|
||||||
|
"Object": {
|
||||||
|
"prefix": "impobject",
|
||||||
|
"description": "import Foreign.Object module",
|
||||||
|
"body": "import Foreign.Object as Object"
|
||||||
|
},
|
||||||
|
"STObject": {
|
||||||
|
"prefix": "impstobject",
|
||||||
|
"description": "import STObject module",
|
||||||
|
"body": "import Foreign.Object.ST as STObject"
|
||||||
|
},
|
||||||
|
"Ref": {
|
||||||
|
"prefix": "impref",
|
||||||
|
"description": "import Effect.Ref module",
|
||||||
|
"body": "import Effect.Ref as Ref"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,5 +60,15 @@
|
||||||
"-- | $0",
|
"-- | $0",
|
||||||
"-- | ```"
|
"-- | ```"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"Section": {
|
||||||
|
"prefix": "section",
|
||||||
|
"description": "Delimit a section using 10 dashes",
|
||||||
|
"body" : "---------- $0"
|
||||||
|
},
|
||||||
|
"Typeclass instances": {
|
||||||
|
"prefix": "sinstances",
|
||||||
|
"description": "Delimit a section which declares typeclass instances",
|
||||||
|
"body" : ["---------- Typeclass instances", "$0"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue