Chris 5 лет назад
Родитель
Сommit
65db5b0dfe
3 измененных файлов с 122 добавлено и 3 удалено
  1. 2 2
      README.md
  2. 5 1
      coc-settings.json
  3. 115 0
      utils/snips/markdown.snippets

+ 2 - 2
README.md

@@ -38,7 +38,7 @@ I assume you can figure it out based on the requirements smart guy
 
 #### pythonpath
 
-Open `modules/pythonpath.vim` and point it to a version of python that has neovim installed
+Create `modules/pythonpath.vim` and point it to a version of python that has neovim installed
 
 example:
 
@@ -48,7 +48,7 @@ let g:python3_host_prog = expand("~/.miniconda/envs/neovim/bin/python3.8")
 
 #### nodepath for Coc
 
-Open `modules/nodepath.vim` and point it to a version of python that has neovim installed
+Create `modules/nodepath.vim` and point it to a version of python that has neovim installed
 
 example:
 

+ 5 - 1
coc-settings.json

@@ -1,3 +1,7 @@
 {
-  "coc.preferences.formatOnSaveFiletypes": ["css", "markdown", "javascript", "graphql", "html", "yaml", "python"]
+  "coc.preferences.formatOnSaveFiletypes": ["css", "markdown", "javascript", "graphql", "html", "yaml", "python"],
+  "snippets.ultisnips.directories": [
+  "UltiSnips",
+  "~/.config/nvim/utils/snips"
+]
 }

+ 115 - 0
utils/snips/markdown.snippets

@@ -0,0 +1,115 @@
+priority -50
+
+global !p
+def create_table(snip):
+    # retrieving single line from current string and treat it like tabstops count
+    placeholders_string = snip.buffer[snip.line].strip()[2:].split("x",1)
+    rows_amount = int(placeholders_string[0])
+    columns_amount = int(placeholders_string[1])
+    # erase current line
+    snip.buffer[snip.line] = ''
+    # create anonymous snippet with expected content and number of tabstops
+    anon_snippet_title = ' | '.join(['$' + str(col) for col in range(1,columns_amount+1)]) + "\n"
+    anon_snippet_delimiter = ':-|' * (columns_amount-1) + ":-\n"
+    anon_snippet_body = ""
+    for row in range(1,rows_amount+1):
+        anon_snippet_body += ' | '.join(['$' + str(row*columns_amount+col) for col in range(1,columns_amount+1)]) + "\n"
+    anon_snippet_table = anon_snippet_title + anon_snippet_delimiter + anon_snippet_body
+    # expand anonymous snippet
+    snip.expand_anon(anon_snippet_table)
+endglobal
+
+###########################
+# Sections and Paragraphs #
+###########################
+snippet sec "Section" b
+# ${1:Section Name} #
+$0
+endsnippet
+
+snippet ssec "Sub Section" b
+## ${1:Section Name} ##
+$0
+endsnippet
+
+snippet sssec "SubSub Section" b
+### ${1:Section Name} ###
+$0
+endsnippet
+
+snippet par "Paragraph" b
+#### ${1:Paragraph Name} ####
+$0
+endsnippet
+
+snippet spar "Paragraph" b
+##### ${1:Paragraph Name} #####
+$0
+endsnippet
+
+###################
+# Text formatting #
+###################
+
+snippet * "italics"
+*${1:${VISUAL}}*$0
+endsnippet
+
+snippet ** "bold"
+**${1:${VISUAL}}**$0
+endsnippet
+
+snippet *** "bold italics"
+***${1:${VISUAL}}***$0
+endsnippet
+
+
+################
+# Common stuff #
+################
+snippet link "Link to something"
+[${1:${VISUAL:Text}}](${3:http://${2:www.url.com}})$0
+endsnippet
+
+snippet img "Image"
+![${1:pic alt}](${2:path}${3/.+/ "/}${3:opt title}${3/.+/"/})$0
+endsnippet
+
+snippet ilc "Inline Code" i
+\`$1\`$0
+endsnippet
+
+snippet cbl "Codeblock" b
+\`\`\`
+$1
+\`\`\`
+$0
+endsnippet
+
+snippet refl "Reference Link"
+[${1:${VISUAL:Text}}][${2:id}]$0
+
+[$2]:${4:http://${3:www.url.com}} "${5:$4}"
+endsnippet
+
+snippet fnt "Footnote"
+[^${1:${VISUAL:Footnote}}]$0
+
+[^$1]:${2:Text}
+endsnippet
+
+pre_expand "create_table(snip)"
+snippet "tb(\d+x\d+)" "Customizable table" br
+endsnippet
+
+# vim:ft=snippets:
+
+snippet meta(data)? "Markdown metadata front matter" br
+---
+title: $1
+description: blog post
+date: "`!v strftime("%Y-%m-%d")`"
+image: "$2"
+tags: [$3]
+---
+endsnippet