nvim: Extend snippet capability
Enabled snippet completion from the first letter (allowing single letter snippet prefixes). Extended the luasnip usage and added a telescope extension to show all enabled snippets for the current buffer.
This commit is contained in:
parent
a7aca62a15
commit
8dbfa2dd13
4 changed files with 206 additions and 5 deletions
|
@ -77,6 +77,7 @@
|
|||
"smartcolumn.nvim": { "branch": "main", "commit": "d01b99355c7fab13233f48d0f28dc097e68a03f7" },
|
||||
"stickybuf.nvim": { "branch": "master", "commit": "2160fcd536d81f5fa43f7167dba6634e814e3154" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" },
|
||||
"telescope-luasnip.nvim": { "branch": "master", "commit": "11668478677de360dea45cf2b090d34f21b8ae07" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "09380a8ed0694dbfbbcf59f9eaac499e259cb75c" },
|
||||
"twilight.nvim": { "branch": "main", "commit": "8bb7fa7b918baab1ca81b977102ddb54afa63512" },
|
||||
|
|
|
@ -3,6 +3,7 @@ return {
|
|||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
branch = "main",
|
||||
version = false,
|
||||
dependencies = {
|
||||
"andersevenrud/cmp-tmux",
|
||||
"cbarrete/completion-vcard",
|
||||
|
@ -19,11 +20,30 @@ return {
|
|||
"kdheepak/cmp-latex-symbols",
|
||||
"lukas-reineke/cmp-rg",
|
||||
"crispgm/cmp-beancount",
|
||||
"ray-x/cmp-treesitter",
|
||||
{ "ray-x/cmp-treesitter", dependencies = { "nvim-treesitter/nvim-treesitter" } },
|
||||
{
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
dependencies = {
|
||||
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
dependencies = { "rafamadriz/friendly-snippets" },
|
||||
dependencies = {
|
||||
"rafamadriz/friendly-snippets",
|
||||
{
|
||||
"benfowler/telescope-luasnip.nvim",
|
||||
dependencies = { { "nvim-telescope/telescope.nvim", optional = true } },
|
||||
config = function()
|
||||
require("telescope").load_extension("luasnip")
|
||||
end,
|
||||
},
|
||||
},
|
||||
build = "make install_jsregexp",
|
||||
config = function()
|
||||
require("luasnip.loaders.from_vscode").lazy_load({ exclude = { "markdown", "quarto" } })
|
||||
require("luasnip.loaders.from_snipmate").lazy_load()
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
|
@ -83,7 +103,7 @@ return {
|
|||
{ name = "otter" },
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "nvim_lsp_signature_help" },
|
||||
{ name = "luasnip", keyword_length = 2 },
|
||||
{ name = "luasnip", keyword_length = 1 },
|
||||
{ name = "pandoc_references" },
|
||||
{ name = "calc" },
|
||||
{ name = "path" },
|
||||
|
|
80
nvim/.config/nvim/snippets/markdown.snippets
Normal file
80
nvim/.config/nvim/snippets/markdown.snippets
Normal file
|
@ -0,0 +1,80 @@
|
|||
# Markdown snippets
|
||||
# Combination of snips from friendly-snippets and vim-snippets repos
|
||||
|
||||
snippet h1 Heading level 1
|
||||
# ${0}
|
||||
|
||||
snippet h2 Heading level 2
|
||||
## ${0}
|
||||
|
||||
snippet h3 Heading level 3
|
||||
### ${0}
|
||||
|
||||
snippet h4 Heading level 4
|
||||
#### ${0}
|
||||
|
||||
snippet h5 Heading level 5
|
||||
##### ${0}
|
||||
|
||||
snippet h6 Heading level 6
|
||||
##### ${0}
|
||||
|
||||
snippet ] Link
|
||||
[${1:text}](${2:link})
|
||||
|
||||
snippet ]h Weblink
|
||||
[${1:text}](https://${2:address})
|
||||
|
||||
snippet ]c Link filled with clipboard contents
|
||||
[${1:text}](${2:`@+`})
|
||||
|
||||
snippet ]: Link reference style
|
||||
[${1:id}]: ${2:text}
|
||||
|
||||
snippet ]] Footnote
|
||||
[^${1:id}]${0}
|
||||
|
||||
[^${1:id}]: ${2:text}
|
||||
|
||||
snippet img Image link
|
||||
![${1:alt}](${2:link})
|
||||
|
||||
snippet imgc Image link with clipboard content
|
||||
![${1:alt}](${2:`@+`})
|
||||
|
||||
snippet ** Bold
|
||||
**$0**
|
||||
snippet __ Bold
|
||||
__$0__
|
||||
snippet --- Frontmatter
|
||||
---
|
||||
$0
|
||||
---
|
||||
|
||||
# codeblocks
|
||||
snippet `` Codeblock with language
|
||||
\`\`\`${1:language}
|
||||
${2:code}
|
||||
\`\`\`
|
||||
|
||||
# table
|
||||
snippet tb Simple table
|
||||
| ${5:factors} | ${1:a} | ${2:b} |
|
||||
| ------------- |------------- | ------- |
|
||||
| ${3:f1} | ${0} | N |
|
||||
| ${4:f2} | N | N |
|
||||
|
||||
# tasklists
|
||||
snippet tl Tasklist item
|
||||
- [ ] ${0:item}
|
||||
|
||||
snippet tl3 Tasklist item
|
||||
- [ ] ${1:item}
|
||||
- [ ] ${2:item}
|
||||
- [ ] ${0:item}
|
||||
|
||||
# super/subscript - pandoc/extended markdown only
|
||||
snippet sub Subscript
|
||||
~${0}~
|
||||
snippet sup Superscript
|
||||
^${0}^
|
100
nvim/.config/nvim/snippets/quarto.snippets
Normal file
100
nvim/.config/nvim/snippets/quarto.snippets
Normal file
|
@ -0,0 +1,100 @@
|
|||
# Quarto extensions to markdown
|
||||
|
||||
extends markdown
|
||||
|
||||
# definitions list
|
||||
snippet : Definition list
|
||||
$1
|
||||
: $0
|
||||
|
||||
snippet `` Codecell with language
|
||||
\`\`\`{${1:language}}
|
||||
${2:code}
|
||||
\`\`\`
|
||||
|
||||
snippet ``p Codecell with language
|
||||
\`\`\`{python}
|
||||
${2:code}
|
||||
\`\`\`
|
||||
|
||||
snippet ``r Codecell with language
|
||||
\`\`\`{r}
|
||||
${2:code}
|
||||
\`\`\`
|
||||
|
||||
snippet pyfig2 Sub-Figures from python codecell
|
||||
\`\`\`{python}
|
||||
#| label: fig-${1:label}
|
||||
#| fig-cap: "${2:caption}"
|
||||
#| fig-subcap:
|
||||
#| - "${3:subcap1}"
|
||||
#| - "${3:subcap2}"
|
||||
#| layout-ncol: 2
|
||||
|
||||
${0:code}
|
||||
\`\`\`
|
||||
|
||||
snippet pyfig Figure from python codecell
|
||||
\`\`\`{python}
|
||||
#| label: fig-${1:label}
|
||||
#| fig-cap: "${2:caption}"
|
||||
|
||||
${0:code}
|
||||
\`\`\`
|
||||
|
||||
snippet fig General figure
|
||||
![${1:caption}](${3:figure}){#fig-${2:label}}
|
||||
|
||||
snippet pytab Figure from python codecell
|
||||
\`\`\`{python}
|
||||
#| label: tbl-${1:label}
|
||||
#| tbl-cap: "${2:caption}"
|
||||
|
||||
${0:code}
|
||||
\`\`\`
|
||||
|
||||
snippet fref Figure crossref
|
||||
@fig-${1:label}
|
||||
snippet tref Table crossref
|
||||
@tbl-${1:label}
|
||||
snippet sref Section crossref
|
||||
@sec-${1:label}
|
||||
snippet eref Equation crossref
|
||||
@eq-${1:label}
|
||||
|
||||
snippet cite Citation
|
||||
[@${1:bib-key}]
|
||||
|
||||
snippet fn Footnote
|
||||
[^${1:id}]
|
||||
|
||||
[^${1}]: ${2:text}
|
||||
|
||||
snippet shortcode Shortcode
|
||||
{{< $0 >}}
|
||||
|
||||
snippet div Div block
|
||||
::: {.${1:class}}
|
||||
$0
|
||||
:::
|
||||
|
||||
snippet note Callout note
|
||||
::: {.callout-note}
|
||||
$0
|
||||
:::
|
||||
snippet warn Callout warning
|
||||
::: {.callout-warning}
|
||||
$0
|
||||
:::
|
||||
snippet import Callout important
|
||||
::: {.callout-important}
|
||||
$0
|
||||
:::
|
||||
snippet tip Callout tip
|
||||
::: {.callout-tip}
|
||||
$0
|
||||
:::
|
||||
snippet caut Callout caution
|
||||
::: {.callout-caution}
|
||||
$0
|
||||
:::
|
Loading…
Reference in a new issue