diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua index 20b9bb0..35a2e79 100644 --- a/nvim/.config/nvim/init.lua +++ b/nvim/.config/nvim/init.lua @@ -98,8 +98,6 @@ vim.cmd [=[ nnoremap ,rl :checktime nnoremap ,m :wa:make - inoremap - nnoremap ,cD :call setqflist(filter(getqflist(), 'v:val != getqflist()[getqflist({"idx": 0}).idx - 1]')) nnoremap ,t vl:terminala @@ -853,6 +851,50 @@ require'lazy'.setup{ --{{{1 end }, + { 'dcampos/nvim-snippy', --{{{2 + config = function() + require'snippy'.setup{ enable_auto = true, } + vim.cmd [[ + imap '(snippy-next)' + imap '(snippy-previous)' + smap '(snippy-next)' + smap '(snippy-previous)' + nmap g; (snippy-cut-text) + xmap g; (snippy-cut-text) + ]] + end + }, + { 'hrsh7th/nvim-cmp', --{{{2 + dependencies = { + 'hrsh7th/cmp-nvim-lsp', + 'hrsh7th/cmp-path', + 'dcampos/nvim-snippy', + 'dcampos/cmp-snippy', + }, + config = function() + local cmp = require'cmp' + cmp.setup{ + snippet = { + expand = function(args) + require'snippy'.expand_snippet(args.body) + end, + }, + mapping = { + [''] = cmp.mapping.confirm{ select = true }, + [''] = cmp.mapping.select_next_item(), + [''] = cmp.mapping.select_prev_item(), + }, + sources = cmp.config.sources( + { + { name = 'snippy', priority = 100000000000000000000 }, + { name = 'nvim_lsp', priority = 1000000000}, + { name = 'path', priority = 1}, + } + ), + preselect = cmp.PreselectMode.None, + } + end, + }, { 'nvim-telescope/telescope.nvim', --{{{2 tag = '0.1.8', dependencies = { diff --git a/nvim/.config/nvim/snippets/c.snippets b/nvim/.config/nvim/snippets/c.snippets new file mode 100644 index 0000000..666bd75 --- /dev/null +++ b/nvim/.config/nvim/snippets/c.snippets @@ -0,0 +1,438 @@ +snippet taggedUnion + #define ${1/.*/\U\0/g}_FIELDS \ + X(${0:foo}) + + #define X(NAME, ...) ${1:union}_type_##NAME, + typedef enum ${1:union}_type { + ${1/.*/\U\0/g}_FIELDS + count_${1:union}_type_t + } ${1:union}_type_t; + #undef X + + #define X(NAME, ...) typedef struct NAME {__VA_ARGS__} NAME##_t; + ${1/.*/\U\0/g}_FIELDS + #undef X + + #define X(NAME, ...) NAME##_t NAME; + typedef struct ${1:union} { + ${1:union}_type_t type; + union { + ${1/.*/\U\0/g}_FIELDS + }; + } ${1:union}_t; + #undef X + + #define X(NAME, ...) static inline ${1:union}_t ${1:union}_of_##NAME(NAME##_t NAME) { \ + ${1:union}_t ${1:union} = (${1:union}_t){}; \ + ${1:union}.type = ${1:union}_type_##NAME; \ + ${1:union}.NAME = NAME; \ + return ${1:union}; \ + } + ${1/.*/\U\0/g}_FIELDS + #undef X + +snippet tccRaylib + #!/bin/tcc -run -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 + +snippet ,fl "" Ai + , __FILE__, __LINE__ +snippet scriptgcc + #if 0 + SCRIPT_NAME=$(echo "$0" | tr '/' '_' | tr '.' '_').o + EXEC=/tmp/$SCRIPT_NAME + if [ ! -x "$EXEC" ] || [ "$0" -nt "$EXEC" ]; then + gcc "$0" -o "$EXEC" + fi + exec "$EXEC" + #endif + +snippet func + ${1:void} ${2:foo}( ${3:void} ) { + ${0:fprintf(stderr, __FILE__ ":%d: todo!", __LINE__); exit(1);} + } + +snippet region + WITH_MEMORY_REGION(${1:region}) { // Don't return memory owned by ${1:region}. + ${0:$VISUAL} + } while (0); + +snippet regionDef + #include + #include + + typedef struct AllocationHeader { + struct AllocationHeader *next; + union { + long double _only_; + long long _for_; + void *_alignment_; + } data[]; + } AllocationHeader; + + typedef AllocationHeader* MemoryRegion; + + void *MemoryRegionMalloc(MemoryRegion *region, size_t size, char *file, size_t line) { + AllocationHeader *bytes = malloc(sizeof(AllocationHeader) + size); + if (bytes == NULL) { + fprintf(stderr, "%s:%zu: unable to allocate %zu bytes\n", file, line, size); + exit(1); + } + bytes->next = *region; + *region = bytes; + printf("allocated %zu bytes at %p\n", size, bytes); + return &bytes->data; + } + #define MemoryRegionMalloc(region, size) MemoryRegionMalloc(region, size, __FILE__, __LINE__) + + void MemoryRegionFree(MemoryRegion *region) { + AllocationHeader *curr = *region; + while (curr != NULL) { + AllocationHeader *next = curr->next; + free(curr); + printf("freed %p\n", curr); + curr = next; + } + *region = NULL; + } + + #define WITH_MEMORY_REGION(NAME) for (MemoryRegion NAME = NULL; !NAME; NAME = (MemoryRegionFree(&NAME), (MemoryRegion) 1)) do +snippet scopeMalloc + { + ${1:int} *${2:var} = malloc(${3:size}); + if (${2:var} == NULL) { + ${4:fprintf(stderr, "%s:%d: malloc returned NULL!\\n", __FILE__, __LINE__); exit(1);} + } + // working area //////////////////////////////////////////////////////////////// + $0 + //////////////////////////////////////////////////////////////////////////////// + free(${2:var}); + } +snippet defer + ${1:initialize}; { + $0 + } ${2:deinitialize}; +snippet camera + void camera_update(Camera2D *camera) { + float wheel = GetMouseWheelMove(); + if (wheel != 0.0f) { + Vector2 mouseWorldPos = GetScreenToWorld2D(GetMousePosition(), *camera); + camera->offset = GetMousePosition(); + camera->target = mouseWorldPos; + float scale_factor = 1.0f + (0.25f*fabsf(wheel)); + if (wheel < 0) scale_factor = 1.0f/scale_factor; + camera->zoom = Clamp(camera->zoom*scale_factor, 0.125f, 64.0f); + } + if (IsMouseButtonDown(MOUSE_BUTTON_LEFT)) { + Vector2 delta = GetMouseDelta(); + delta = Vector2Scale(delta, -1.0f/camera->zoom); + camera->target = Vector2Add(camera->target, delta); + } + } + #define camera_new ((Camera2D) { .zoom = 1.0f, .target = (Vector2) {0.0f, 0.0f}, .offset = (Vector2) {0.0f, 0.0f}, .rotation = 0.0f }) + +snippet tenum + typedef enum ${1:name} { + $0 + count_${1:name}_t + } ${1:name}_t; + +snippet aunion + union { + $0 + }; + +snippet astruct + struct { + $0 + }; + +snippet tunion + typedef union ${1:name} { + $0 + } ${1:name}_t; + +snippet tstruct + typedef struct ${1:name} { + $0 + } ${1:name}_t; + +snippet class + typedef struct ${1:name} { + $0 + } ${1:name}; +snippet printf + printf("$1\n"$2); +snippet ,,n "" Ai + \n + +snippet foreacharr + for (${1:type} *${2:item}_ptr = (${3:array}); ${2:item}_ptr < &(${3:array})[${4:size}]; ${2:item}_ptr++) { + ${1:type} ${2:item} = *${2:item}_ptr; + $0 + } +snippet flags + #include <_static_assert.h> + #include + #include + #include + + #define FLAGS \ + X(SOLID) \ + X(DAMAGING) \ + X(WATER) \ + X(ENEMY) + + typedef enum ordinal_flags { + #define X(name) ORDINAL_FLAG_##name, + FLAGS + #undef X + count_ordinal_flags + } ordinal_flags_t; + static_assert(count_ordinal_flags <= 64, "Too many flags!"); + + typedef enum flag : uint64_t{ + #define X(name) FLAG_##name = ((uint64_t)1) << ORDINAL_FLAG_##name, + FLAGS + #undef X + } flag_t; + + void flag_print(flag_t f) { + printf("FLAGS: { "); + #define X(name) if (f & FLAG_##name) printf(#name" "); + FLAGS + #undef X + printf("}\n"); + } + + flag_t flag_parse(char *str) { + flag_t f = 0; + #define X(name) if (strstr(str, " "#name" ")) f |= FLAG_##name; + FLAGS + #undef X + return f; + } + +snippet test + #include + #include + + int tests_total = 0; + int tests_passed = 0; + typedef enum {Success, Failure} Result; + + Result assert(bool condition, char *condition_text, char *file, int line) { + tests_total++; + Result result; + if (condition) { + tests_passed++; + result = Success; + } else { + printf("%s:%d: error: Assertion failed: %s\n", file, line, condition_text); + result = Failure; + } + fflush(stdout); + return result; + } + + #define assert(condition) assert(condition, #condition, __FILE__, __LINE__) + + int main(int arg_count, char *args[]) { + + { // TEST HERE + $0 + } + + if (tests_total == tests_passed) { + return 0; + } else { + return tests_total - tests_passed; + } + } + +snippet unpackRect + $1.x, $1.y, $1.width, $1.height + +snippet unpackRectInt + ((int) $1.x), ((int) $1.y), ((int) $1.width), ((int) $1.height) + +snippet rect + (Rectangle) {$1} + +snippet forxy + for ( int y = 0; y < ${1:HEIGHT}; y++ ) { + for ( int x = 0; x < ${2:WIDTH}; x++ ) { + $0 + } + } + +snippet constAssign + *((${1:int} *) &${2:const}) = ${3:val}; + +snippet colorToVec4 + Vector4 ${1:color}_v = (Vector4) { + .x = (float) ${1:color}.r, + .y = (float) ${1:color}.g, + .z = (float) ${1:color}.b, + .w = (float) ${1:color}.a + }; + +snippet cast + (($1) ${2:$VISUAL}) + +snippet appendDefine + #define append(arr, val, size, capacity) \ + do { \ + assert(size < capacity); \ + arr[size] = val; \ + size++; \ + } while (0) + +snippet popDefine + #define pop(recipient, arr, size) \ + do { \ + assert(0 < size); \ + size--; \ + recipient = arr[size]; \ + } while (0) + +snippet pop + assert(0 < ${3:size}); + ${3:size}--; + ${2:recipient} = ${1:$VISUAL}[${3:size}]; + +snippet append + ${1:arr}[${3:size}++] = ${2:value}; + +snippet ) + ( $1 ) + +snippet ] + [ $1 ] + +snippet } + { $1 } + +snippet ( + ( + $1 + ) + +snippet [ + [ + $1 + ] + +snippet { + { + $1 + } + +snippet main + int main(int argc, const char **argv) { + $0 + return 0; + } + +snippet range + for ( int i = 0; i < ${1:count}; i++ ) { + $0 + } + +snippet fori + for ( int i = 0; i < ${1:count}; i++ ) { + $0 + } + +snippet do + do { + $0 + \} while ( ${1:1} ); + +snippet while + while ( ${1:1} ) { + $0 + } + +snippet if + if ( $1 ) { + $0 + } + +snippet includeGuard + #ifndef $1 + #define $1 + + $0 + + #endif /* $1 */ + +snippet singleHeaderLib + #ifndef $1_HEADER + #define $1_HEADER + + $0 + + #ifdef $1_IMPL + + + + #endif /* $1_IMPL */ + #endif /* $1_HEADER */ + +snippet withDrawing + BeginDrawing(); + $0 + EndDrawing(); + +snippet withBlendMode + BeginBlendMode(${1:int mode}); + $0 + EndBlendMode(); + +snippet withMode2D + BeginMode2D(${1:Camera2D camera}); + $0 + EndMode2D(); + +snippet withMode3D + BeginMode3D(${1:Camera3D camera}); + $0 + EndMode3D(); + +snippet withShaderMode + BeginShaderMode(${1:Shader shader}); + $0 + EndShaderMode(); + +snippet withTextureMode + BeginTextureMode(${1:RenderTexture2D target}); + $0 + EndTextureMode(); + +snippet withVrStereoMode + BeginVrStereoMode(${1:VrStereoConfig config}); + $0 + EndVrStereoMode(); + +snippet withScissorMode + BeginScissorMode(${1:int x}, ${2:int y}, ${3:int width}, ${4:int height}); + $0 + EndScissorMode(); + +snippet gear + [GID_${1:TYPE}_${2:IDENTIFIER}] = { + .name = "${3:In game name}", + .texture_path = "assets/player/${4:path/to/image}.png", + .type = GEAR_${1:TYPE}, + .rating = ${5:dmg / armor} + }, +snippet escape + $1 \ +snippet X + X( $1 ) +snippet Xdef + #define X($1) $2 + $0 + #undef X +snippet todo + _Static_assert(false, "TODO"); diff --git a/nvim/.config/nvim/snippets/cpp.snippets b/nvim/.config/nvim/snippets/cpp.snippets new file mode 100644 index 0000000..940589c --- /dev/null +++ b/nvim/.config/nvim/snippets/cpp.snippets @@ -0,0 +1,7 @@ +snippet guard "Include guards" + #ifndef ${1:MY_HEADER_NAME_GOES_HERE_H} + #define ${1:MY_HEADER_NAME_GOES_HERE_H} + + ${0:...} + + #endif /* ${1:MY_HEADER_NAME_GOES_HERE_H} */ diff --git a/nvim/.config/nvim/snippets/cs.snippets b/nvim/.config/nvim/snippets/cs.snippets new file mode 100644 index 0000000..16dcddd --- /dev/null +++ b/nvim/.config/nvim/snippets/cs.snippets @@ -0,0 +1,19 @@ +snippet ,,n "" Ai + \n + +snippet summary + /// + /// $1 + /// $0 + +snippet param + /// $2$0 + +snippet prop + public ${2:type} ${1:FieldName} { get; set; } + +snippet ,gs "" Ai + { get; set; } + +snippet paramref + diff --git a/nvim/.config/nvim/snippets/gdscript.snippets b/nvim/.config/nvim/snippets/gdscript.snippets new file mode 100644 index 0000000..e69de29 diff --git a/nvim/.config/nvim/snippets/go.snippets b/nvim/.config/nvim/snippets/go.snippets new file mode 100644 index 0000000..6a8e500 --- /dev/null +++ b/nvim/.config/nvim/snippets/go.snippets @@ -0,0 +1,116 @@ +snippet tryget + if ${2:val}, ok := $1; ok { + $0 + } + +snippet dontimes + for range $1 { + $0 + } + +snippet handlefunc + router.HandleFunc("$1", func( w http.ResponseWriter, r *http.Request,) { + $0 + }) + +snippet !! "" Ai + != + +snippet :: "" Ai + := + +snippet ,,n "" Ai + \n +snippet <<< "" Ai + <- +snippet ts + type $1 struct { + $0 + } + +snippet main + package main + + func main() { + $0 + } + +snippet gofunc + go func() { + $0 + }() + +snippet afunc + func($1) $2 { + $0 + } + +snippet func + func ${1:foo}($2) $3 { + $0 + } + +snippet meth + func (${2:[this]} ${1:[type]}) ${3:[function name]}($4)${5: } { + $0 + } + +snippet err + if err != nil { return err }$0 + +snippet { + { + $1 + }$0 + +snippet [ + [ + $1 + ]$0 + +snippet ( + ( + $1 + )$0 + +snippet } + { $1 }$0 + +snippet ] + [ $1 ]$0 + +snippet ) + ( $1 )$0 + +snippet fori + for ${1:i} := ${2:0}; ${1:i} < ${3:upper}; ${1:i}++ { + $0 + } +snippet retSeq1 + return func(yield func(${1:V}) bool) { + for /*TODO*/ { + if !yield( /*${1:V}*/ ) { + return + } + } + } + +snippet retSeq2 + return func(yield func(${1:K}, ${2:V}) bool) { + for /*TODO*/ { + if !yield( /*${1:K},${2:V}*/ ) { + return + } + } + } + + +snippet impl + var _ ${1:INTERFACE} = (*${2:CONCRETE_TYPE})(nil) + +snippet implstr + var _ ${1:INTERFACE} = (*${2:CONCRETE_TYPE})(nil) + type ${2:CONCRETE_TYPE} ${3:UNDERLYING_TYPE} + +snippet append + ${1:slice} = append( ${1:slice}, ${2:value} ) diff --git a/nvim/.config/nvim/snippets/help.snippets b/nvim/.config/nvim/snippets/help.snippets new file mode 100644 index 0000000..e69de29 diff --git a/nvim/.config/nvim/snippets/html.snippets b/nvim/.config/nvim/snippets/html.snippets new file mode 100644 index 0000000..026e361 --- /dev/null +++ b/nvim/.config/nvim/snippets/html.snippets @@ -0,0 +1,2 @@ +snippet diff --git a/nvim/.config/nvim/snippets/javascript.snippets b/nvim/.config/nvim/snippets/javascript.snippets new file mode 100644 index 0000000..4252056 --- /dev/null +++ b/nvim/.config/nvim/snippets/javascript.snippets @@ -0,0 +1,14 @@ +snippet ( + ( + $0 + ) + +snippet { + { + $0 + } + +snippet [ + [ + $0 + ] diff --git a/nvim/.config/nvim/snippets/lua.snippets b/nvim/.config/nvim/snippets/lua.snippets new file mode 100644 index 0000000..3363b10 --- /dev/null +++ b/nvim/.config/nvim/snippets/lua.snippets @@ -0,0 +1,108 @@ +snippet as + --[[@as $1]] + +snippet anon + function($1) + $0 + end +snippet ) "" i + ( $1 ) + +snippet ] "" i + [ $1 ] + +snippet } "" i + { $1 } + +snippet ( "" i + ( + $1 + ) + +snippet [ "" i + [ + $1 + ] + +snippet { "" i + { + $1 + } + +snippet ltag "" + local ${0:$VISUAL} = '${0:$VISUAL}' + +snippet tag + ${0:$VISUAL} = '${0:$VISUAL}' + +snippet !! "" Ai + ~= + +snippet != "" Ai + ~= + +snippet ne "" i + ~= + +snippet --[[ "" i + --[[ + $0 + --]] + +snippet wopen + do + local file = io.open( $1, $2 ) + assert( file ~= nil, ("io.open('%s', '%s' returned nil."):format($1, $2)) + + ${0:$VISUAL} + + file:close() + end + +snippet wshader + local previous_shader = love.graphics.getShader() + love.graphics.setShader( $1 ) + ${0:$VISUAL} + love.graphics.setShader( previous_shader ) + +snippet wcanvas + local previous_canvas = love.graphics.getCanvas() + love.graphics.setCanvas( $1 ) + ${0:$VISUAL} + love.graphics.setCanvas( previous_canvas ) + +snippet wcolor + local previous_color = { love.graphics.getColor() } + love.graphics.setColor( $1 ) + ${0:$VISUAL} + love.graphics.setColor( previous_color ) + +snippet uvec + ${1:$VISUAL}.x, ${1:$VISUAL}.y$0 + +snippet urec + ${1:$VISUAL}.x, ${1:$VISUAL}.y, ${1:$VISUAL}.w, ${1:$VISUAL}.h$0 + +snippet swap + $1, $2 = $2, $1$0 + +snippet add "" + ${1:$VISUAL} = ${1:$VISUAL} + $2 + +snippet sub + ${1:$VISUAL} = ${1:$VISUAL} - $2 + +snippet mul + ${1:$VISUAL} = ${1:$VISUAL} * $2 + +snippet div + ${1:$VISUAL} = ${1:$VISUAL} / $2 + +snippet conc + ${1:$VISUAL} = ${1:$VISUAL} .. $2 + +snippet inc + ${1:$VISUAL} = ${1:$VISUAL} + 1$0 + +snippet dec + ${1:$VISUAL} = ${1:$VISUAL} - 1$0 diff --git a/nvim/.config/nvim/snippets/make.snippets b/nvim/.config/nvim/snippets/make.snippets new file mode 100644 index 0000000..1d424ca --- /dev/null +++ b/nvim/.config/nvim/snippets/make.snippets @@ -0,0 +1,14 @@ +snippet raylib + ${2:game}: ${1:main.c} + cc ${1:main.c} -o ${2:game} -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 + + clean: + rm ./${2:game} + + run: ${2:game} + ./${2:game} + +snippet test + test: test.c + @cc -o test test.c + @./test || (rm -f test && $(MAKE) --no-print-directory clean && exit 1) diff --git a/nvim/.config/nvim/snippets/markdown.snippets b/nvim/.config/nvim/snippets/markdown.snippets new file mode 100644 index 0000000..28fdc1c --- /dev/null +++ b/nvim/.config/nvim/snippets/markdown.snippets @@ -0,0 +1,480 @@ +snippet link + [${1:$VISUAL}](${2:$VISUAL}) +snippet XML + \`\`\`XML + ${0:$VISUAL} + \`\`\` +snippet +snippet <> "" i + <${1:$VISUAL}> + $0 + + +snippet FIFO + **First In, First Out** (FIFO) +snippet DAC + 'DefaultAzureCredential' +snippet runarroll + ![runarroll.gif](runarroll.gif) +snippet runarapprove + ![runarapprove.gif](runarapprove.gif) +snippet runarangry + ![runarangry.gif](runarangry.gif) +snippet runarshrug + ![runarshrug.png](runarshrug.png) +snippet image + ![$1]($1) +snippet note + > **Note** + > $0 +snippet code + \`\`\`${1:c} + ${0:$VISUAL} + \`\`\` + +snippet haskell + \`\`\`haskell + ${0:$VISUAL} + \`\`\` + +snippet c + \`\`\`c + ${0:$VISUAL} + \`\`\` + +snippet bash + \`\`\`Bash + ${0:$VISUAL} + \`\`\` + +snippet json + \`\`\`JSON + ${0:$VISUAL} + \`\`\` + +snippet cs + \`\`\`cs + ${0:$VISUAL} + \`\`\` + +snippet cpp + \`\`\`cpp + ${0:$VISUAL} + \`\`\` + +snippet py "Python" + \`\`\`py + $0 + \`\`\` + +snippet bullet "Bullet item" + - **${1:...}** - + +snippet check "Checklist item" + - [ ] ${0:...} + +snippet i "Italic" + *${1:$VISUAL}*$0 + +snippet b "Bold" + **${1:$VISUAL}**$0 + +snippet ib "Italic Bold" + ***${1:$VISUAL}***$0 + +snippet bi "Bold Italic" + ***${1:...}***$0 + + +snippet pagebreak "Force a pagebreak for when the document is converted to a pdf." +
+ + +snippet equation + \begin{equation*} + $0 + \end{equation*} + +snippet aligned + \begin{aligned} + $0 + \end{aligned} + +snippet matrix + \begin{bmatrix*}[r] + $0 + \end{bmatrix*} + +snippet detMatrix + \begin{vmatrix*}[r] + $0 + \end{vmatrix*} + +snippet row2matrix + ${1:a} & ${2:b} \\\\ + +snippet row3matrix + ${1:a} & ${2:b} & ${3:c} \\\\ + +snippet row4matrix + ${1:a} & ${2:b} & ${3:c} & ${4:d} \\\\ + +snippet row5matrix + ${1:a} & ${2:b} & ${3:c} & ${4:d} & ${5:e} \\\\ + +snippet row6matrix + ${1:a} & ${2:b} & ${3:c} & ${4:d} & ${5:e} & ${6:f}\\\\ + +snippet matI2 + \begin{bmatrix*}[r] + 1 & 0 \\\\ + 0 & 1 \\\\ + \end{bmatrix*} + +snippet mat22 + \begin{bmatrix*}[r] + ${1:a} & ${2:b} \\\\ + ${3:c} & ${4:d} \\\\ + \end{bmatrix*} + +snippet mat23 + \begin{bmatrix*}[r] + ${1:a} & ${2:b} & ${3:c} \\\\ + ${4:d} & ${5:e} & ${6:f} \\\\ + \end{bmatrix*} + +snippet mat24 + \begin{bmatrix*}[r] + ${1:a} & ${2:b} & ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} & ${7:g} & ${8:h} \\\\ + \end{bmatrix*} + +snippet matI3 + \begin{bmatrix*}[r] + 1 & 0 & 0 \\\\ + 0 & 1 & 0 \\\\ + 0 & 0 & 1 \\\\ + \end{bmatrix*} + +snippet mat32 + \begin{bmatrix*}[r] + ${1:a} & ${2:b} \\\\ + ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} \\\\ + \end{bmatrix*} + +snippet mat33 + \begin{bmatrix*}[r] + ${1:a} & ${2:b} & ${3:c} \\\\ + ${4:d} & ${5:e} & ${6:f} \\\\ + ${7:g} & ${8:h} & ${9:i} \\\\ + \end{bmatrix*} + +snippet mat34 + \begin{bmatrix*}[r] + ${1:a} & ${2:b} & ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} & ${7:g} & ${8:h} \\\\ + ${9:i} & ${10:j} & ${11:k} & ${12:l} \\\\ + \end{bmatrix*} + +snippet matI4 + \begin{bmatrix*}[r] + 1 & 0 & 0 & 0 \\\\ + 0 & 1 & 0 & 0 \\\\ + 0 & 0 & 1 & 0 \\\\ + 0 & 0 & 0 & 1 \\\\ + \end{bmatrix*} + +snippet mat42 + \begin{bmatrix*}[r] + ${1:a} & ${2:b} \\\\ + ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} \\\\ + ${7:g} & ${8:h} \\\\ + \end{bmatrix*} + +snippet mat43 + \begin{bmatrix*}[r] + ${1:a} & ${2:b} & ${3:c} \\\\ + ${4:d} & ${5:e} & ${6:f} \\\\ + ${7:g} & ${8:h} & ${9:i} \\\\ + ${10:j} & ${11:k} & ${12:l} \\\\ + \end{bmatrix*} + +snippet mat44 + \begin{bmatrix*}[r] + ${1:a} & ${2:b} & ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} & ${7:g} & ${8:h} \\\\ + ${9:i} & ${10:j} & ${11:k} & ${12:l} \\\\ + ${13:m} & ${14:n} & ${15:o} & ${16:p} \\\\ + \end{bmatrix*} + +snippet detI2 + \begin{vmatrix*}[r] + 1 & 0 \\\\ + 0 & 1 \\\\ + \end{vmatrix*} + +snippet det22 + \begin{vmatrix*}[r] + ${1:a} & ${2:b} \\\\ + ${3:c} & ${4:d} \\\\ + \end{vmatrix*} + +snippet det23 + \begin{vmatrix*}[r] + ${1:a} & ${2:b} & ${3:c} \\\\ + ${4:d} & ${5:e} & ${6:f} \\\\ + \end{vmatrix*} + +snippet det24 + \begin{vmatrix*}[r] + ${1:a} & ${2:b} & ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} & ${7:g} & ${8:h} \\\\ + \end{vmatrix*} + +snippet detI3 + \begin{vmatrix*}[r] + 1 & 0 & 0 \\\\ + 0 & 1 & 0 \\\\ + 0 & 0 & 1 \\\\ + \end{vmatrix*} + +snippet det32 + \begin{vmatrix*}[r] + ${1:a} & ${2:b} \\\\ + ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} \\\\ + \end{vmatrix*} + +snippet det33 + \begin{vmatrix*}[r] + ${1:a} & ${2:b} & ${3:c} \\\\ + ${4:d} & ${5:e} & ${6:f} \\\\ + ${7:g} & ${8:h} & ${9:i} \\\\ + \end{vmatrix*} + +snippet det34 + \begin{vmatrix*}[r] + ${1:a} & ${2:b} & ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} & ${7:g} & ${8:h} \\\\ + ${9:i} & ${10:j} & ${11:k} & ${12:l} \\\\ + \end{vmatrix*} + +snippet detI4 + \begin{vmatrix*}[r] + 1 & 0 & 0 & 0 \\\\ + 0 & 1 & 0 & 0 \\\\ + 0 & 0 & 1 & 0 \\\\ + 0 & 0 & 0 & 1 \\\\ + \end{vmatrix*} + +snippet det42 + \begin{vmatrix*}[r] + ${1:a} & ${2:b} \\\\ + ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} \\\\ + ${7:g} & ${8:h} \\\\ + \end{vmatrix*} + +snippet det43 + \begin{vmatrix*}[r] + ${1:a} & ${2:b} & ${3:c} \\\\ + ${4:d} & ${5:e} & ${6:f} \\\\ + ${7:g} & ${8:h} & ${9:i} \\\\ + ${10:j} & ${11:k} & ${12:l} \\\\ + \end{vmatrix*} + +snippet det44 + \begin{vmatrix*}[r] + ${1:a} & ${2:b} & ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} & ${7:g} & ${8:h} \\\\ + ${9:i} & ${10:j} & ${11:k} & ${12:l} \\\\ + ${13:m} & ${14:n} & ${15:o} & ${16:p} \\\\ + \end{vmatrix*} + +snippet pi + \pi + +snippet infinity + \infty + +snippet sum + \sum_{i=${1:1}}^{${2:\\infty}} + +snippet fraction + \frac{${1:a}}{${2:b}} + +snippet flexbrace + \left($1\right) + +snippet text + \text{$1} + +snippet Z + \mathbb{Z} + +snippet Z+ + \mathbb{Z}^{+} + +snippet Z+0 + \mathbb{Z}^{+}_{0} + +snippet Z- + \mathbb{Z}^{-} + +snippet Z-0 + \mathbb{Z}^{-}_0 + +snippet N + \mathbb{N} + +snippet R + \mathbb{R} + +snippet Rn + \mathbb{R}^n + +snippet Rm + \mathbb{R}^m + +snippet lambda + \lambda + +snippet my + \mu + +snippet bigVec + \overrightarrow{$1} + +snippet vec + \vec{$1} + +snippet colvec2 + \begin{bmatrix*}[r] + ${1:x_1} \\\\ + ${2:x_2} \\\\ + \end{bmatrix*} + +snippet colvec3 + \begin{bmatrix*}[r] + ${1:x_1} \\\\ + ${2:x_2} \\\\ + ${3:x_3} \\\\ + \end{bmatrix*} + +snippet colvec4 + \begin{bmatrix*}[r] + ${1:x_1} \\\\ + ${2:x_2} \\\\ + ${3:x_3} \\\\ + ${4:x_4} \\\\ + \end{bmatrix*} + +snippet colvec5 + \begin{bmatrix*}[r] + ${1:x_1} \\\\ + ${2:x_2} \\\\ + ${3:x_3} \\\\ + ${4:x_4} \\\\ + ${5:x_5} \\\\ + \end{bmatrix*} + +snippet +- + \pm + +snippet sqrt + \sqrt{$1} + +snippet nsqrt + \sqrt[$1]{$2} + +snippet abc + ${1:x} = \frac{-${3:b} \pm \sqrt{ ${3:b}^2 - 4 * ${4:c} * ${2:a} } }{ 2 * ${2:a} }$0 + +snippet ul + \underline{$1} + +snippet ulul + \underline{\underline{$1}}$0 + +snippet boldText + \textbf{$1} + +snippet italicText + \emph{$1} + +snippet section + \section{$1}$0 + +snippet subsection + \subsection{$1}$0 + +snippet subsubsection + \subsubsection{$1}$0 + +snippet enumerate + \begin{enumerate} + $0 + \end{enumerate} + +snippet item + \item $1 + +snippet transformation + T : \mathbb{R}^${1:n} \to \mathbb{R}^${2:m} + +snippet pow + ${1:a}^{${2:n}}$0 + +snippet inverse + ^{-1} + +snippet transposed + ^{T} + +snippet nxn + ${1:n} \times ${1:n} + +snippet nxm + ${1:n} \times ${2:m} + +snippet adj + \text{adj} + +snippet span + \text{Span} + +snippet squigles + \\{$1\\}$0 + +snippet vecu + \vec{u} + +snippet vecv + \vec{v} + +snippet vecx + \vec{x} + +snippet vecb + \vec{b} + +snippet vecw + \vec{w} + +snippet u "Underscore" + _{$1}$0 + +snippet dots "... in math mode" + \dots + +snippet nbasis + B = \{\vec b_1, \dots, \vec b_n \\} + +snippet dim + \\text{dim } + +snippet dot + \\cdot diff --git a/nvim/.config/nvim/snippets/odin.snippets b/nvim/.config/nvim/snippets/odin.snippets new file mode 100644 index 0000000..e69de29 diff --git a/nvim/.config/nvim/snippets/python.snippets b/nvim/.config/nvim/snippets/python.snippets new file mode 100644 index 0000000..a115500 --- /dev/null +++ b/nvim/.config/nvim/snippets/python.snippets @@ -0,0 +1,34 @@ +snippet main + def main(): + ${0:$VISUAL} + + if __name__ == '__main__': + main() + +snippet mainargs + from sys import argv + + def main( me: str, args: list[str] ): + ${0:$VISUAL} + + if __name__ == '__main__': + main(argv[0], argv[1:]) + +snippet tag + $1 = '$1' + +snippet assign + self.$1 = $1 + +snippet ignore + #pyright: ignore +snippet ds "Documentation String" + """ + $0 + """ +snippet :: "" Ai + := + +snippet noneOr + if $1 is None: + $1 = $2 diff --git a/nvim/.config/nvim/snippets/rust.snippets b/nvim/.config/nvim/snippets/rust.snippets new file mode 100644 index 0000000..b0781da --- /dev/null +++ b/nvim/.config/nvim/snippets/rust.snippets @@ -0,0 +1,30 @@ +snippet ( + ( + $1 + ) + +snippet [ + [ + $1 + ] + +snippet { + { + $1 + } + +snippet ) + ($1) + +snippet ] + [$1] + +snippet } + {$1} + +snippet inc + ${1:var} = ${1:var} + 1; + +snippet cmpn + #[derive(Component)] struct $1; + diff --git a/nvim/.config/nvim/snippets/sh.snippets b/nvim/.config/nvim/snippets/sh.snippets new file mode 100644 index 0000000..f2eeb5e --- /dev/null +++ b/nvim/.config/nvim/snippets/sh.snippets @@ -0,0 +1,34 @@ +snippet raylibBuildLinux + cc $1.c -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 -o $1 + ./$1 + +snippet window + mkdir -p ${1:[path]} + tmux new-window -t "$SESSION" -c ${1:[path]} -n "${2:[window name]}" + +snippet program + tmux send-keys -t "$SESSION":"${1:[window name]}" '${2:[window cmd]}' C-m + +snippet session + SESSION="${1:[session name]}" + + if tmux has-session -t "$SESSION" 2>/dev/null; then + if [ -n "$TMUX" ]; then + tmux switch-client -t "$SESSION" + else + tmux attach -t "$SESSION" + fi + exit 0 + fi + + mkdir -p ${2:[path]} + tmux new-session -d -s "$SESSION" -c ${2:[path]} -n "${3:[main window name]}" + + $0 + + tmux select-window -t "$SESSION":"$3" + if [ -n "$TMUX" ]; then + tmux switch-client -t "$SESSION" + else + tmux attach -t "$SESSION" + fi diff --git a/nvim/.config/nvim/snippets/snippets.snippets b/nvim/.config/nvim/snippets/snippets.snippets new file mode 100644 index 0000000..bf76d79 --- /dev/null +++ b/nvim/.config/nvim/snippets/snippets.snippets @@ -0,0 +1,9 @@ +snippet vis + \${${1:n}:\$VISUAL} +snippet par + \${${1:n}:${2:default}} +snippet code + snippet ${1:c} + \\\`\\\`\\\`${1:c} + \${0:\$VISUAL} + \\\`\\\`\\\` diff --git a/nvim/.config/nvim/snippets/sql.snippets b/nvim/.config/nvim/snippets/sql.snippets new file mode 100644 index 0000000..289ce06 --- /dev/null +++ b/nvim/.config/nvim/snippets/sql.snippets @@ -0,0 +1,5 @@ +snippet join + ${1|INNER,LEFT,RIGHT,FULL,CROSS|} JOIN ${2:table_name} ON ${3:condition} + +snippet type "SQL data type" + ${1|INT,BIGINT,SMALLINT,DECIMAL,NUMERIC,FLOAT,REAL,DOUBLE,CHAR,VARCHAR,TEXT,DATE,TIME,DATETIME,TIMESTAMP,BOOLEAN,BLOB,CLOB|} diff --git a/nvim/.config/nvim/snippets/tex.snippets b/nvim/.config/nvim/snippets/tex.snippets new file mode 100644 index 0000000..f494d43 --- /dev/null +++ b/nvim/.config/nvim/snippets/tex.snippets @@ -0,0 +1,441 @@ +snippet template + \documentclass{article} + + \usepackage[margin=2.5cm]{geometry} + \usepackage{titlesec} + \AddToHook{cmd/section/before}{\clearpage} + \linespread{1.25} + \usepackage[skip=10pt plus1pt, indent=0pt]{parskip} + + \titleformat{\section} + {\normalfont\Large\bfseries}{}{0em}{} % Removes section numbering + + \titleformat{\subsection} + {\normalfont\large\bfseries}{}{0em}{} % Removes subsection numbering + + \titleformat{\subsubsection} + {\normalfont\normalsize\bfseries}{}{0em}{} % Removes subsubsection numbering + + \titlespacing*{\section}{0pt}{\baselineskip}{\baselineskip} + \titlespacing*{\subsection}{0pt}{\baselineskip}{\baselineskip} + \titlespacing*{\subsubsection}{0pt}{\baselineskip}{\baselineskip} + + \begin{document} + + $0 + + \end{document} + +snippet templateMath + \documentclass{article} + + \AddToHook{cmd/section/before}{\clearpage} + + \usepackage{amsfonts} + \usepackage[framemethod=TikZ]{mdframed} + \usepackage{amsmath} + \usepackage[a4paper, margin=2.5cm]{geometry} + + \newmdenv[linecolor=black,linewidth=2pt,roundcorner=5pt]{questionbox} + + \newenvironment{question}[1] + {\begin{questionbox}\textbf{\boldmath #1}\par\medskip\hrule\medskip} + {\end{questionbox}} + + \begin{document} + \tableofcontents + $0 + \end{document} + +snippet question + \begin{question}{ ${1:Question} } + $0 + \end{question} + +snippet equation + \begin{equation*} + $0 + \end{equation*} + +snippet aligned + \begin{aligned} + $0 + \end{aligned} + +snippet matrix + \begin{bmatrix} + $0 + \end{bmatrix} + +snippet detMatrix + \begin{vmatrix} + $0 + \end{vmatrix} + +snippet row2matrix + ${1:a} & ${2:b} \\\\ + +snippet row3matrix + ${1:a} & ${2:b} & ${3:c} \\\\ + +snippet row4matrix + ${1:a} & ${2:b} & ${3:c} & ${4:d} \\\\ + +snippet row5matrix + ${1:a} & ${2:b} & ${3:c} & ${4:d} & ${5:e} \\\\ + +snippet row6matrix + ${1:a} & ${2:b} & ${3:c} & ${4:d} & ${5:e} & ${6:f}\\\\ + +snippet matI2 + \begin{bmatrix} + 1 & 0 \\\\ + 0 & 1 \\\\ + \end{bmatrix} + +snippet mat22 + \begin{bmatrix} + ${1:a} & ${2:b} \\\\ + ${3:c} & ${4:d} \\\\ + \end{bmatrix} + +snippet mat23 + \begin{bmatrix} + ${1:a} & ${2:b} & ${3:c} \\\\ + ${4:d} & ${5:e} & ${6:f} \\\\ + \end{bmatrix} + +snippet mat24 + \begin{bmatrix} + ${1:a} & ${2:b} & ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} & ${7:g} & ${8:h} \\\\ + \end{bmatrix} + +snippet matI3 + \begin{bmatrix} + 1 & 0 & 0 \\\\ + 0 & 1 & 0 \\\\ + 0 & 0 & 1 \\\\ + \end{bmatrix} + +snippet mat32 + \begin{bmatrix} + ${1:a} & ${2:b} \\\\ + ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} \\\\ + \end{bmatrix} + +snippet mat33 + \begin{bmatrix} + ${1:a} & ${2:b} & ${3:c} \\\\ + ${4:d} & ${5:e} & ${6:f} \\\\ + ${7:g} & ${8:h} & ${9:i} \\\\ + \end{bmatrix} + +snippet mat34 + \begin{bmatrix} + ${1:a} & ${2:b} & ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} & ${7:g} & ${8:h} \\\\ + ${9:i} & ${10:j} & ${11:k} & ${12:l} \\\\ + \end{bmatrix} + +snippet matI4 + \begin{bmatrix} + 1 & 0 & 0 & 0 \\\\ + 0 & 1 & 0 & 0 \\\\ + 0 & 0 & 1 & 0 \\\\ + 0 & 0 & 0 & 1 \\\\ + \end{bmatrix} + +snippet mat42 + \begin{bmatrix} + ${1:a} & ${2:b} \\\\ + ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} \\\\ + ${7:g} & ${8:h} \\\\ + \end{bmatrix} + +snippet mat43 + \begin{bmatrix} + ${1:a} & ${2:b} & ${3:c} \\\\ + ${4:d} & ${5:e} & ${6:f} \\\\ + ${7:g} & ${8:h} & ${9:i} \\\\ + ${10:j} & ${11:k} & ${12:l} \\\\ + \end{bmatrix} + +snippet mat44 + \begin{bmatrix} + ${1:a} & ${2:b} & ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} & ${7:g} & ${8:h} \\\\ + ${9:i} & ${10:j} & ${11:k} & ${12:l} \\\\ + ${13:m} & ${14:n} & ${15:o} & ${16:p} \\\\ + \end{bmatrix} + +snippet detI2 + \begin{vmatrix} + 1 & 0 \\\\ + 0 & 1 \\\\ + \end{vmatrix} + +snippet det22 + \begin{vmatrix} + ${1:a} & ${2:b} \\\\ + ${3:c} & ${4:d} \\\\ + \end{vmatrix} + +snippet det23 + \begin{vmatrix} + ${1:a} & ${2:b} & ${3:c} \\\\ + ${4:d} & ${5:e} & ${6:f} \\\\ + \end{vmatrix} + +snippet det24 + \begin{vmatrix} + ${1:a} & ${2:b} & ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} & ${7:g} & ${8:h} \\\\ + \end{vmatrix} + +snippet detI3 + \begin{vmatrix} + 1 & 0 & 0 \\\\ + 0 & 1 & 0 \\\\ + 0 & 0 & 1 \\\\ + \end{vmatrix} + +snippet det32 + \begin{vmatrix} + ${1:a} & ${2:b} \\\\ + ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} \\\\ + \end{vmatrix} + +snippet det33 + \begin{vmatrix} + ${1:a} & ${2:b} & ${3:c} \\\\ + ${4:d} & ${5:e} & ${6:f} \\\\ + ${7:g} & ${8:h} & ${9:i} \\\\ + \end{vmatrix} + +snippet det34 + \begin{vmatrix} + ${1:a} & ${2:b} & ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} & ${7:g} & ${8:h} \\\\ + ${9:i} & ${10:j} & ${11:k} & ${12:l} \\\\ + \end{vmatrix} + +snippet detI4 + \begin{vmatrix} + 1 & 0 & 0 & 0 \\\\ + 0 & 1 & 0 & 0 \\\\ + 0 & 0 & 1 & 0 \\\\ + 0 & 0 & 0 & 1 \\\\ + \end{vmatrix} + +snippet det42 + \begin{vmatrix} + ${1:a} & ${2:b} \\\\ + ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} \\\\ + ${7:g} & ${8:h} \\\\ + \end{vmatrix} + +snippet det43 + \begin{vmatrix} + ${1:a} & ${2:b} & ${3:c} \\\\ + ${4:d} & ${5:e} & ${6:f} \\\\ + ${7:g} & ${8:h} & ${9:i} \\\\ + ${10:j} & ${11:k} & ${12:l} \\\\ + \end{vmatrix} + +snippet det44 + \begin{vmatrix} + ${1:a} & ${2:b} & ${3:c} & ${4:d} \\\\ + ${5:e} & ${6:f} & ${7:g} & ${8:h} \\\\ + ${9:i} & ${10:j} & ${11:k} & ${12:l} \\\\ + ${13:m} & ${14:n} & ${15:o} & ${16:p} \\\\ + \end{vmatrix} + +snippet pi + \pi + +snippet infinity + \infty + +snippet sum + \sum_{i=${1:1}}^{${2:\\infty}} + +snippet fraction + \frac{${1:a}}{${2:b}} + +snippet flexbrace + \left($1\right) + +snippet text + \text{$1} + +snippet Z + \mathbb{Z} + +snippet Z+ + \mathbb{Z}^{+} + +snippet Z+0 + \mathbb{Z}^{+}_{0} + +snippet Z- + \mathbb{Z}^{-} + +snippet Z-0 + \mathbb{Z}^{-}_0 + +snippet N + \mathbb{N} + +snippet R + \mathbb{R} + +snippet Rn + \mathbb{R}^n + +snippet Rm + \mathbb{R}^m + +snippet lambda + \lambda + +snippet my + \mu + +snippet bigVec + \overrightarrow{$1} + +snippet vec + \vec{$1} + +snippet colvec2 + \begin{bmatrix} + ${1:x_1} \\\\ + ${2:x_2} \\\\ + \end{bmatrix} + +snippet colvec3 + \begin{bmatrix} + ${1:x_1} \\\\ + ${2:x_2} \\\\ + ${3:x_3} \\\\ + \end{bmatrix} + +snippet colvec4 + \begin{bmatrix} + ${1:x_1} \\\\ + ${2:x_2} \\\\ + ${3:x_3} \\\\ + ${4:x_4} \\\\ + \end{bmatrix} + +snippet colvec5 + \begin{bmatrix} + ${1:x_1} \\\\ + ${2:x_2} \\\\ + ${3:x_3} \\\\ + ${4:x_4} \\\\ + ${5:x_5} \\\\ + \end{bmatrix} + +snippet +- + \pm + +snippet sqrt + \sqrt{$1} + +snippet nsqrt + \sqrt[$1]{$2} + +snippet abc + ${1:x} = \frac{-${3:b} \pm \sqrt{ ${3:b}^2 - 4 * ${4:c} * ${2:a} } }{ 2 * ${2:a} }$0 + +snippet ul + \underline{$1} + +snippet ulul + \underline{\underline{$1}}$0 + +snippet boldText + \textbf{$1} + +snippet italicText + \emph{$1} + +snippet section + \section{$1}$0 + +snippet subsection + \subsection{$1}$0 + +snippet subsubsection + \subsubsection{$1}$0 + +snippet enumerate + \begin{enumerate} + $0 + \end{enumerate} + +snippet item + \item $1 + +snippet transformation + T : \mathbb{R}^${1:n} \to \mathbb{R}^${2:m} + +snippet pow + ${1:a}^{${2:n}}$0 + +snippet inverse + ^{-1} + +snippet transposed + ^{T} + +snippet nxn + ${1:n} \times ${1:n} + +snippet nxm + ${1:n} \times ${2:m} + +snippet adj + \text{adj} + +snippet span + \text{Span} + +snippet squigles + \\{$1\\}$0 + +snippet vecu + \vec{u} + +snippet vecv + \vec{v} + +snippet vecx + \vec{x} + +snippet vecb + \vec{b} + +snippet vecw + \vec{w} + +snippet u "Underscore" + _{$1}$0 + +snippet dots "... in math mode" + \dots + +snippet nbasis + B = \{\vec b_1, \dots, \vec b_n \\} + +snippet dim + \\text{dim } + +snippet dot + \\cdot diff --git a/nvim/.config/nvim/snippets/typescriptreact.snippets b/nvim/.config/nvim/snippets/typescriptreact.snippets new file mode 100644 index 0000000..6cd760d --- /dev/null +++ b/nvim/.config/nvim/snippets/typescriptreact.snippets @@ -0,0 +1,13 @@ +snippet tscl + <$1/> +snippet tone + <$1>${0:$VISUAL} +snippet tmul + <$1> + ${0:$VISUAL} + + +snippet view + + ${0:$VISUAL} + diff --git a/nvim/.config/nvim/snippets/typst.snippets b/nvim/.config/nvim/snippets/typst.snippets new file mode 100644 index 0000000..32af970 --- /dev/null +++ b/nvim/.config/nvim/snippets/typst.snippets @@ -0,0 +1,6 @@ + +snippet gear + gearDict.insert( + "$1", + gear($2)[$1][$3] + ) diff --git a/nvim/.config/nvim/snippets/vim.snippets b/nvim/.config/nvim/snippets/vim.snippets new file mode 100644 index 0000000..61ac3ed --- /dev/null +++ b/nvim/.config/nvim/snippets/vim.snippets @@ -0,0 +1,3 @@ +snippet basedpyrightErrors + set makeprg=basedpyright + set errorformat=%f:%l:%c\ -\ %t%*[^:]:%m diff --git a/nvim/.config/nvim/snippets/yaml.snippets b/nvim/.config/nvim/snippets/yaml.snippets new file mode 100644 index 0000000..24c54e6 --- /dev/null +++ b/nvim/.config/nvim/snippets/yaml.snippets @@ -0,0 +1,34 @@ +snippet backfill + - name: Backfill ${1:$VISUAL} once a day for the last 5 days (gap filling) + functionExternalId: icapi_datapoints_extractor + cronExpression: "47 0 * * *" + data: + backfill: True + sites: + - ${1:$VISUAL} + +snippet singleHeader + CompileFlags: + Add: + - -D${1:SOME_IMPL_MACRO} + Diagnostics: + Suppress: + - misc-definitions-in-headers + +snippet testingTemplate + client_name: ${1:data}-testing + project: ${2|"abp-dev",["abp-dev"\, "abp-test"],["abp-dev"\, "abp-test"\, "abp"]|} + tests: + + $0 +snippet testCase + - name: ${1:Some sentence describing what you know to be true if the test passes.} + timeout_is: ${2|failure,warning|} + print_output: ${3|on_failure,on_success,always,never|} + output_destination: ${4|stdout,stderr,autopath|} + disabled: ${5|false,true|} + limit: ${6:null} + source_limit: ${7:null} + query: | + ${0:SELECT * FROM table WHERE condition;} + expected: {"type": ${8|"exact"\, "n_rows": 0,"minimum"\, "n_rows": 1,"maximum"\, "n_rows": 1,"between"\, "min_rows": 0\, "max_rows": 1|}} diff --git a/nvim/.config/nvim/snippets/zig.snippets b/nvim/.config/nvim/snippets/zig.snippets new file mode 100644 index 0000000..0c2e7e8 --- /dev/null +++ b/nvim/.config/nvim/snippets/zig.snippets @@ -0,0 +1,7 @@ +snippet fori + { + var ${1:i}: usize = ${2:0}; + while (i < ${3:10}) : (${1:i} += ${4:1}) { + $0 + } + }