refactor: change to shorter triggers
This commit is contained in:
parent
3c46e21b34
commit
ae993ef990
@ -1,40 +1,57 @@
|
||||
# espanso match file
|
||||
|
||||
# For a complete introduction, visit the official docs at: https://espanso.org/docs/
|
||||
|
||||
# You can use this file to define the base matches (aka snippets)
|
||||
# that will be available in every application when using espanso.
|
||||
|
||||
# Matches are substitution rules: when you type the "trigger" string
|
||||
# it gets replaced by the "replace" string.
|
||||
|
||||
# yaml-language-server: $schema=https://raw.githubusercontent.com/espanso/espanso/dev/schemas/match.schema.json
|
||||
# Base utilities - trigger schema: }b<command>
|
||||
# b = base
|
||||
|
||||
matches:
|
||||
# Simple text replacement
|
||||
- trigger: ":espanso"
|
||||
replace: "Hi there!"
|
||||
|
||||
# NOTE: espanso uses YAML to define matches, so pay attention to the indentation!
|
||||
|
||||
# But matches can also be dynamic:
|
||||
|
||||
# Print the current date
|
||||
- trigger: ":date"
|
||||
replace: "{{mydate}}"
|
||||
# --- Dates & Times ---
|
||||
- trigger: "}bd"
|
||||
replace: "{{date}}"
|
||||
vars:
|
||||
- name: mydate
|
||||
- name: date
|
||||
type: date
|
||||
params:
|
||||
format: "%m/%d/%Y"
|
||||
format: "%Y-%m-%d"
|
||||
|
||||
# Print the output of a shell command
|
||||
- trigger: ":shell"
|
||||
replace: "{{output}}"
|
||||
- trigger: "}bt"
|
||||
replace: "{{time}}"
|
||||
vars:
|
||||
- name: output
|
||||
- name: time
|
||||
type: date
|
||||
params:
|
||||
format: "%H:%M"
|
||||
|
||||
- trigger: "}bdt"
|
||||
replace: "{{datetime}}"
|
||||
vars:
|
||||
- name: datetime
|
||||
type: date
|
||||
params:
|
||||
format: "%Y-%m-%d %H:%M"
|
||||
|
||||
- trigger: "}bdts"
|
||||
replace: "{{isodt}}"
|
||||
vars:
|
||||
- name: isodt
|
||||
type: date
|
||||
params:
|
||||
format: "%Y-%m-%dT%H:%M:%S"
|
||||
|
||||
# --- Identifiers ---
|
||||
- trigger: "}bu"
|
||||
replace: "{{uuid}}"
|
||||
vars:
|
||||
- name: uuid
|
||||
type: shell
|
||||
params:
|
||||
cmd: "echo 'Hello from your shell'"
|
||||
cmd: "uuidgen | tr '[:upper:]' '[:lower:]'"
|
||||
|
||||
# And much more! For more information, visit the docs: https://espanso.org/docs/
|
||||
- trigger: "}bp"
|
||||
replace: "{{pwd}}"
|
||||
vars:
|
||||
- name: pwd
|
||||
type: shell
|
||||
params:
|
||||
cmd: "openssl rand -base64 16 | tr -d '=+/'"
|
||||
|
||||
# --- Miscellaneous ---
|
||||
- trigger: "}mutsl"
|
||||
replace: "mutagen sync list"
|
||||
|
||||
239
match/docker.yml
239
match/docker.yml
@ -1,210 +1,158 @@
|
||||
# Docker Snippets for Espanso
|
||||
# Docker snippets - trigger schema: }d<command>
|
||||
# d = docker
|
||||
|
||||
matches:
|
||||
# === Core Docker Commands ===
|
||||
- trigger: "}dckr"
|
||||
replace: "docker run $1$ $2$ $3$ $4$"
|
||||
# === CORE COMMANDS ===
|
||||
- trigger: "}dr"
|
||||
replace: "docker run {{mode}} {{ports}} {{img}}"
|
||||
vars:
|
||||
- name: image
|
||||
- name: img
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "nginx", "postgres:15", "redis:alpine", "node:20"]
|
||||
values: ["$|$", "nginx"]
|
||||
- name: mode
|
||||
type: choice
|
||||
params:
|
||||
values: ["", "-d", "-it"]
|
||||
values: ["", "-d", "-it", "-d --rm"]
|
||||
- name: ports
|
||||
type: choice
|
||||
params:
|
||||
values: ["", "-p 8080:80", "-p 3000:3000", "-p 5432:5432"]
|
||||
- name: volumes
|
||||
type: choice
|
||||
params:
|
||||
values:
|
||||
["", "-v $(pwd):/app", "-v ~/data:/var/lib/postgresql/data", ""]
|
||||
|
||||
- trigger: "}dckb"
|
||||
replace: "docker build -t $1$ $2$"
|
||||
- trigger: "}db"
|
||||
replace: "docker build -t {{tag}} {{ctx}}"
|
||||
vars:
|
||||
- name: tag
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "my-app:v1", "my-app:latest"]
|
||||
- name: context
|
||||
values: ["$|$", "my-app:latest"]
|
||||
- name: ctx
|
||||
type: choice
|
||||
params:
|
||||
values: [".", "/path/to/build/context", ""]
|
||||
values: [".", "/path/to/context"]
|
||||
|
||||
- trigger: "}dckp"
|
||||
replace: "docker push $1$"
|
||||
vars:
|
||||
- name: image
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "my-app:v1", "registry.example.com/my-app:latest"]
|
||||
- trigger: "}dp"
|
||||
replace: "docker push $|$"
|
||||
|
||||
- trigger: "}dckpl"
|
||||
replace: "docker pull $1$"
|
||||
vars:
|
||||
- name: image
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "nginx:latest", "postgres:15-alpine"]
|
||||
- trigger: "}dpl"
|
||||
replace: "docker pull $|$"
|
||||
|
||||
- trigger: "}dckps"
|
||||
replace: "docker ps $1$"
|
||||
- trigger: "}dps"
|
||||
replace: "docker ps {{opt}}"
|
||||
vars:
|
||||
- name: option
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values:
|
||||
["", "-a", "--format \"table {{.Names}}\t{{.Image}}\t{{.Ports}}\""]
|
||||
["", "-a", '--format "table {{.Names}}\t{{.Image}}\t{{.Status}}"']
|
||||
|
||||
- trigger: "}dckim"
|
||||
- trigger: "}di"
|
||||
replace: "docker images"
|
||||
|
||||
- trigger: "}dckstop"
|
||||
replace: "docker stop $1$"
|
||||
vars:
|
||||
- name: target
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "<container-name>", "$(docker ps -q)"]
|
||||
- trigger: "}dst"
|
||||
replace: "docker stop $|$"
|
||||
|
||||
- trigger: "}dckstopa"
|
||||
- trigger: "}dsta"
|
||||
replace: "docker stop $(docker ps -q)"
|
||||
label: Stop ALL running containers (use with caution!)
|
||||
|
||||
- trigger: "}dckrm"
|
||||
replace: "docker rm $1$"
|
||||
- trigger: "}drm"
|
||||
replace: "docker rm $|$"
|
||||
|
||||
- trigger: "}drmi"
|
||||
replace: "docker rmi $|$"
|
||||
|
||||
- trigger: "}dl"
|
||||
replace: "docker logs -f $|$"
|
||||
|
||||
- trigger: "}de"
|
||||
replace: "docker exec -it {{cnt}} {{cmd}}"
|
||||
vars:
|
||||
- name: target
|
||||
- name: cnt
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "<container-name>", "$(docker ps -aq)"]
|
||||
values: ["$|$", "<container>"]
|
||||
- name: cmd
|
||||
type: choice
|
||||
params:
|
||||
values: ["sh", "bash", "/bin/bash"]
|
||||
|
||||
- trigger: "}dckrmi"
|
||||
replace: "docker rmi $1$"
|
||||
vars:
|
||||
- name: target
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "<image-name>", "$(docker images -q)"]
|
||||
|
||||
- trigger: "}dcklog"
|
||||
replace: "docker logs -f $1$"
|
||||
vars:
|
||||
- name: container
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "<container-name>"]
|
||||
|
||||
- trigger: "}dckex"
|
||||
replace: "docker exec -it $1$ $2$"
|
||||
vars:
|
||||
- name: container
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "<container-name>"]
|
||||
- name: command
|
||||
type: choice
|
||||
params:
|
||||
values: ["sh", "bash", "/bin/bash", ""]
|
||||
|
||||
- trigger: "}dckprune"
|
||||
- trigger: "}dpr"
|
||||
replace: "docker system prune -f"
|
||||
|
||||
- trigger: "}dckpruneall"
|
||||
- trigger: "}dpra"
|
||||
replace: "docker system prune -a --volumes -f"
|
||||
label: Remove ALL unused Docker resources (irreversible!)
|
||||
|
||||
- trigger: "}dckinspect"
|
||||
replace: "docker inspect $1$"
|
||||
- trigger: "}din"
|
||||
replace: "docker inspect $|$"
|
||||
|
||||
# === COMPOSE ===
|
||||
- trigger: "}dcu"
|
||||
replace: "docker compose up {{opt}}"
|
||||
vars:
|
||||
- name: target
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "<container-name>", "<image-name>"]
|
||||
values: ["$|$", "-d", "--build", "-d --build"]
|
||||
|
||||
# === Docker Compose Commands ===
|
||||
- trigger: "}dckcu"
|
||||
replace: "docker compose up $1$ $2$"
|
||||
- trigger: "}dcd"
|
||||
replace: "docker compose down {{opt}}"
|
||||
vars:
|
||||
- name: option
|
||||
type: choice
|
||||
params:
|
||||
values: ["", "-d", "--build"]
|
||||
- name: service
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "", "web", "db", "redis"]
|
||||
|
||||
- trigger: "}dckcd"
|
||||
replace: "docker compose down $1$"
|
||||
vars:
|
||||
- name: option
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values: ["", "--volumes", "--rmi all"]
|
||||
|
||||
- trigger: "}dckcl"
|
||||
replace: "docker compose logs -f $1$"
|
||||
vars:
|
||||
- name: service
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "web", "db", ""]
|
||||
- trigger: "}dcl"
|
||||
replace: "docker compose logs -f $|$"
|
||||
|
||||
- trigger: "}dckex"
|
||||
replace: "docker compose exec $1$ $2$"
|
||||
- trigger: "}dce"
|
||||
replace: "docker compose exec {{svc}} {{cmd}}"
|
||||
vars:
|
||||
- name: service
|
||||
- name: svc
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "web", "db"]
|
||||
- name: command
|
||||
values: ["$|$", "web", "db", "api"]
|
||||
- name: cmd
|
||||
type: choice
|
||||
params:
|
||||
values: ["sh", "bash", "python manage.py migrate", ""]
|
||||
values: ["sh", "bash", "python manage.py migrate"]
|
||||
|
||||
- trigger: "}dckcb"
|
||||
replace: "docker compose build $1$"
|
||||
vars:
|
||||
- name: service
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "web", "db", ""]
|
||||
- trigger: "}dcb"
|
||||
replace: "docker compose build $|$"
|
||||
|
||||
# === Dockerfile Snippets ===
|
||||
- trigger: "}dckfile"
|
||||
# === DOCKERFILE SNIPPETS ===
|
||||
- trigger: "}df"
|
||||
replace: |
|
||||
FROM $1$
|
||||
FROM {{base}}
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
RUN $2$
|
||||
EXPOSE 80
|
||||
CMD ["$3$"]
|
||||
RUN {{run}}
|
||||
EXPOSE {{port}}
|
||||
CMD ["{{cmd}}"]
|
||||
vars:
|
||||
- name: base_image
|
||||
- name: base
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "alpine:latest", "ubuntu:22.04"]
|
||||
- name: install_cmd
|
||||
values: ["$|$", "node:20-alpine", "python:3.11-slim", "ubuntu:22.04"]
|
||||
- name: run
|
||||
type: choice
|
||||
params:
|
||||
values:
|
||||
[
|
||||
"apt update && apt install -y <package>",
|
||||
"apk add --no-cache <package>",
|
||||
"npm ci",
|
||||
"pip install -r requirements.txt",
|
||||
"",
|
||||
"apt update && apt install -y <pkg>",
|
||||
]
|
||||
- name: start_cmd
|
||||
- name: port
|
||||
type: choice
|
||||
params:
|
||||
values:
|
||||
["nginx -g 'daemon off;'", "python app.py", "node server.js", ""]
|
||||
values: ["3000", "8000", "80", "8080"]
|
||||
- name: cmd
|
||||
type: choice
|
||||
params:
|
||||
values: ["npm start", "python app.py", "node server.js"]
|
||||
|
||||
- trigger: "}dckfile-node"
|
||||
- trigger: "}dfn"
|
||||
replace: |
|
||||
FROM node:20-alpine
|
||||
WORKDIR /app
|
||||
@ -214,7 +162,7 @@ matches:
|
||||
EXPOSE 3000
|
||||
CMD ["npm", "start"]
|
||||
|
||||
- trigger: "}dckfile-py"
|
||||
- trigger: "}dfp"
|
||||
replace: |
|
||||
FROM python:3.11-slim
|
||||
WORKDIR /app
|
||||
@ -224,26 +172,25 @@ matches:
|
||||
EXPOSE 8000
|
||||
CMD ["python", "app.py"]
|
||||
|
||||
# === Common Config Snippets ===
|
||||
- trigger: "}dckignore"
|
||||
# === CONFIG ===
|
||||
- trigger: "}dign"
|
||||
replace: |
|
||||
.git
|
||||
node_modules
|
||||
.env
|
||||
*.log
|
||||
Dockerfile
|
||||
.dockerignore
|
||||
dist/
|
||||
build/
|
||||
.dockerignore
|
||||
|
||||
- trigger: "}dckenv"
|
||||
replace: "ENV $1$=$2$"
|
||||
- trigger: "}denv"
|
||||
replace: "ENV {{key}}={{val}}"
|
||||
vars:
|
||||
- name: key
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "NODE_ENV", "PORT", "DB_HOST", "DEBUG"]
|
||||
- name: value
|
||||
values: ["$|$", "NODE_ENV", "PORT", "DEBUG"]
|
||||
- name: val
|
||||
type: choice
|
||||
params:
|
||||
values: ["production", "3000", "localhost", "true", ""]
|
||||
values: ["production", "3000", "true", "false"]
|
||||
|
||||
701
match/git.yml
701
match/git.yml
@ -1,496 +1,293 @@
|
||||
# Git Snippets for Espanso
|
||||
# Git snippets - trigger schema: }g<command>
|
||||
# g = git
|
||||
|
||||
matches:
|
||||
# === BASIC COMMANDS ===
|
||||
# Git init
|
||||
- trigger: "}giti"
|
||||
replace: "git init"
|
||||
|
||||
# Git clone
|
||||
- trigger: "}gitcl"
|
||||
replace: "git clone $1$"
|
||||
|
||||
# Git status
|
||||
- trigger: "}gits"
|
||||
# === DAILY COMMANDS (shortest) ===
|
||||
- trigger: "}gs"
|
||||
replace: "git status"
|
||||
|
||||
# Git add
|
||||
- trigger: "}gita"
|
||||
# replace: "git add $1$"
|
||||
- trigger: "}ga"
|
||||
replace: "git add {{what}}"
|
||||
vars:
|
||||
- name: "dot"
|
||||
type: "choice"
|
||||
- name: what
|
||||
type: choice
|
||||
params:
|
||||
values:
|
||||
- ". "
|
||||
- ""
|
||||
- name: "file"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "$|$"
|
||||
- " <filename>"
|
||||
replace: "git add {{dot}}{{file}}"
|
||||
values: ["$|$", ".", "-p ", "-u ", "-A "]
|
||||
|
||||
# Git commit
|
||||
- trigger: "}gitc"
|
||||
- trigger: "}gc"
|
||||
replace: 'git commit -m "$|$"'
|
||||
|
||||
# Git commit with amend
|
||||
- trigger: "}gitcam"
|
||||
- trigger: "}gca"
|
||||
replace: 'git commit --amend -m "$|$"'
|
||||
|
||||
# Git commit all
|
||||
- trigger: "}gitcal"
|
||||
replace: 'git commit -am "$|$"'
|
||||
- trigger: "}gcan"
|
||||
replace: "git commit --amend --no-edit"
|
||||
|
||||
# Git push
|
||||
- trigger: "}gitp"
|
||||
#replace: "git push $1$ $2$"
|
||||
- trigger: "}gp"
|
||||
replace: "git push {{opt}}"
|
||||
vars:
|
||||
- name: "option"
|
||||
type: "choice"
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values:
|
||||
- ""
|
||||
- "--force"
|
||||
- "--tags"
|
||||
- name: "remote_branch"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- ""
|
||||
- "origin main"
|
||||
- "origin master"
|
||||
- "origin HEAD"
|
||||
- "origin development"
|
||||
replace: "git push {{option}} {{remote_branch}}"
|
||||
values: ["$|$", "-u origin HEAD", "--force", "--tags"]
|
||||
|
||||
# Git pull
|
||||
- trigger: "}gitpl"
|
||||
#replace: "git pull $1$ $2$"
|
||||
- trigger: "}gpl"
|
||||
replace: "git pull {{opt}}"
|
||||
vars:
|
||||
- name: "option"
|
||||
type: "choice"
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values:
|
||||
- ""
|
||||
- "--rebase"
|
||||
- name: "remote_branch"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- ""
|
||||
- "origin main"
|
||||
- "origin master"
|
||||
- "origin HEAD"
|
||||
- "origin development"
|
||||
replace: "git pull {{option}} {{remote_branch}}"
|
||||
values: ["$|$", "--rebase", "origin main", "origin master"]
|
||||
|
||||
# Git fetch
|
||||
- trigger: "}gitf"
|
||||
# replace: "git fetch $1$"
|
||||
- trigger: "}gf"
|
||||
replace: "git fetch {{opt}}"
|
||||
vars:
|
||||
- name: "remote"
|
||||
type: "choice"
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "--all", "origin"]
|
||||
|
||||
- trigger: "}gcl"
|
||||
replace: "git clone $|$"
|
||||
|
||||
# === BRANCHING ===
|
||||
- trigger: "}gco"
|
||||
replace: "git checkout {{opt}}"
|
||||
vars:
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "-b ", "main", "master", "-"]
|
||||
|
||||
- trigger: "}gb"
|
||||
replace: "git branch {{opt}}"
|
||||
vars:
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "-d ", "-D ", "-a", "-r", "-m "]
|
||||
|
||||
- trigger: "}gm"
|
||||
replace: "git merge {{opt}}"
|
||||
vars:
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "--no-ff ", "--squash ", "--abort"]
|
||||
|
||||
- trigger: "}gr"
|
||||
replace: "git rebase {{opt}}"
|
||||
vars:
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values:
|
||||
- ""
|
||||
- "origin"
|
||||
- "--all"
|
||||
replace: "git fetch {{remote}}"
|
||||
[
|
||||
"$|$",
|
||||
"-i HEAD~3",
|
||||
"--abort",
|
||||
"--continue",
|
||||
"--skip",
|
||||
"main",
|
||||
"master",
|
||||
]
|
||||
|
||||
# Git log
|
||||
- trigger: "}gitlg"
|
||||
- trigger: "}grem"
|
||||
replace: "git remote {{opt}}"
|
||||
vars:
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values: ["-v", "add origin ", "remove ", "set-url origin "]
|
||||
|
||||
# === HISTORY & DIFF ===
|
||||
- trigger: "}gd"
|
||||
replace: "git diff {{opt}}"
|
||||
vars:
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "--staged", "HEAD~1", "--stat"]
|
||||
|
||||
- trigger: "}gl"
|
||||
replace: "git log --oneline --graph --all"
|
||||
|
||||
# Git diff
|
||||
- trigger: "}gitdf"
|
||||
#replace: "git diff $1$"
|
||||
- trigger: "}gls"
|
||||
replace: "git log --oneline -10"
|
||||
|
||||
- trigger: "}gsh"
|
||||
replace: "git show {{opt}}"
|
||||
vars:
|
||||
- name: "option"
|
||||
type: "choice"
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values:
|
||||
- ""
|
||||
- "--staged"
|
||||
- "HEAD~1"
|
||||
replace: "git diff {{option}}"
|
||||
values: ["HEAD", "HEAD~1", "$|$"]
|
||||
|
||||
# Git checkout
|
||||
- trigger: "}gitco"
|
||||
#replace: "git checkout $1$"
|
||||
# === STASH ===
|
||||
- trigger: "}gst"
|
||||
replace: "git stash {{opt}}"
|
||||
vars:
|
||||
- name: "what"
|
||||
type: "choice"
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values:
|
||||
- ""
|
||||
- "-b "
|
||||
- "-- "
|
||||
- name: "target"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "$|$"
|
||||
- "main"
|
||||
- "master"
|
||||
- "development"
|
||||
replace: "git checkout {{what}}{{target}}"
|
||||
values: ["$|$", 'push -m "', "pop", "list", "apply", "drop", "clear"]
|
||||
|
||||
# Git branch
|
||||
- trigger: "}gitb"
|
||||
#replace: "git branch $1$"
|
||||
vars:
|
||||
- name: "option"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- ""
|
||||
- "-d "
|
||||
- "-D "
|
||||
- "-a"
|
||||
- "-r"
|
||||
- name: "branch"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "$|$"
|
||||
- "feature/"
|
||||
- "bugfix/"
|
||||
- "hotfix/"
|
||||
- "chore/"
|
||||
- "test/"
|
||||
replace: "git branch {{option}}{{branch}}"
|
||||
|
||||
# Git merge
|
||||
- trigger: "}gitm"
|
||||
#replace: "git merge $1$"
|
||||
vars:
|
||||
- name: "option"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- ""
|
||||
- "--no-ff "
|
||||
- "--squash "
|
||||
- "--abort"
|
||||
- name: "branch"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "$|$"
|
||||
- "main"
|
||||
- "master"
|
||||
- "development"
|
||||
replace: "git merge {{option}}{{branch}}"
|
||||
|
||||
# Git rebase
|
||||
- trigger: "}gitr"
|
||||
#replace: "git rebase $1$"
|
||||
vars:
|
||||
- name: "option"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- ""
|
||||
- "-i "
|
||||
- "--abort"
|
||||
- "--continue"
|
||||
- "--skip"
|
||||
- name: "target"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "$|$"
|
||||
- "main"
|
||||
- "master"
|
||||
- "HEAD~3"
|
||||
- "development"
|
||||
- "staging"
|
||||
replace: "git rebase {{option}}{{target}}"
|
||||
|
||||
# Git stash
|
||||
- trigger: "}gitsah"
|
||||
#replace: "git stash $1$"
|
||||
vars:
|
||||
- name: "option"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- ""
|
||||
- 'push -m "$|$"'
|
||||
- "pop"
|
||||
- "list"
|
||||
- "drop"
|
||||
- "apply"
|
||||
- "--include-untracked"
|
||||
replace: "git stash {{option}}"
|
||||
|
||||
# Git remote
|
||||
- trigger: "}gitr"
|
||||
#replace: "git remote $1$"
|
||||
vars:
|
||||
- name: "option"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "-v"
|
||||
- "add origin "
|
||||
- "remove "
|
||||
- name: "url"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "$|$"
|
||||
- "https://github.com/user/repo.git"
|
||||
replace: "git remote {{option}}{{url}}"
|
||||
|
||||
# Git reset
|
||||
- trigger: "}gitrst"
|
||||
#replace: "git reset $1$ $2$"
|
||||
vars:
|
||||
- name: "mode"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "--soft "
|
||||
- "--hard "
|
||||
- ""
|
||||
- name: "target"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "HEAD~1"
|
||||
- "HEAD~2"
|
||||
- "HEAD~3"
|
||||
- "$|$"
|
||||
replace: "git reset {{mode}}{{target}}"
|
||||
|
||||
# Git clean
|
||||
- trigger: "}gitcln"
|
||||
#replace: "git clean -fd $1$"
|
||||
vars:
|
||||
- name: "dry"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- ""
|
||||
- "-n"
|
||||
replace: "git clean -fd{{dry}}"
|
||||
|
||||
# Git show
|
||||
- trigger: "}gitshow"
|
||||
#replace: "git show $1$"
|
||||
vars:
|
||||
- name: "ref"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "HEAD"
|
||||
- "HEAD~1"
|
||||
- "$|$"
|
||||
- "<commit-hash>"
|
||||
replace: "git show {{ref}}"
|
||||
|
||||
# Git cherry-pick
|
||||
- trigger: "}gitcp"
|
||||
#replace: "git cherry-pick $1$"
|
||||
vars:
|
||||
- name: "option"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- ""
|
||||
- "-x "
|
||||
- "--continue"
|
||||
- "--abort"
|
||||
- name: "commit"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "$|$"
|
||||
- "<commit-hash>"
|
||||
- "HEAD~1"
|
||||
replace: "git cherry-pick {{option}}{{commit}}"
|
||||
|
||||
# Git revert
|
||||
- trigger: "}gitrev"
|
||||
#replace: "git revert $1$"
|
||||
vars:
|
||||
- name: "commit"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "HEAD"
|
||||
- "HEAD~1"
|
||||
- "$|$"
|
||||
- "<commit-hash>"
|
||||
replace: "git revert {{commit}}"
|
||||
|
||||
# Git bisect
|
||||
- trigger: "}gitbst"
|
||||
#replace: "git bisect $1$"
|
||||
vars:
|
||||
- name: "action"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "start"
|
||||
- "good"
|
||||
- "bad"
|
||||
- "reset"
|
||||
- "log"
|
||||
replace: "git bisect {{action}}"
|
||||
|
||||
# Git blame
|
||||
- trigger: "}gitblame"
|
||||
#replace: "git blame $1$"
|
||||
vars:
|
||||
- name: "file"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "$|$"
|
||||
- "<filename>"
|
||||
replace: "git blame {{file}}"
|
||||
|
||||
# Git reflog
|
||||
- trigger: "}gitrl"
|
||||
#replace: "git reflog"
|
||||
replace: "git reflog"
|
||||
|
||||
# Git config
|
||||
- trigger: "}gitconf"
|
||||
#replace: "git config --global $1$ $2$"
|
||||
vars:
|
||||
- name: "key"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "user.name"
|
||||
- "user.email"
|
||||
- "core.editor"
|
||||
- "init.defaultBranch"
|
||||
- name: "value"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "$|$"
|
||||
- "Your Name"
|
||||
- "your.email@example.com"
|
||||
- "vim"
|
||||
- "main"
|
||||
replace: 'git config --global {{key}} "{{value}}"'
|
||||
|
||||
# === COMMIT MESSAGE CONVENTIONS ===
|
||||
# Conventional Commits
|
||||
- trigger: "}gitcc"
|
||||
vars:
|
||||
- name: "type"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "feat"
|
||||
- "fix"
|
||||
- "docs"
|
||||
- "style"
|
||||
- "refactor"
|
||||
- "perf"
|
||||
- "test"
|
||||
- "chore"
|
||||
- "revert"
|
||||
- name: "scope"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- ""
|
||||
- "(auth)"
|
||||
- "(api)"
|
||||
- "(db)"
|
||||
- "(ui)"
|
||||
- "(cli)"
|
||||
replace: "{{type}}{{scope}}: "
|
||||
|
||||
# Fix typo in commit
|
||||
- trigger: "}gitfix"
|
||||
replace: "fixup! $|$"
|
||||
|
||||
# Squash commit
|
||||
- trigger: "}gitsquash"
|
||||
replace: "squash! $|$"
|
||||
|
||||
# === BRANCH NAMING CONVENTIONS ===
|
||||
|
||||
# Release branch
|
||||
- trigger: "}gitbr"
|
||||
replace: "release/v$1$.$2$.$3$"
|
||||
vars:
|
||||
- name: "major"
|
||||
type: "choice"
|
||||
params:
|
||||
values: ["0", "1", "2"]
|
||||
- name: "minor"
|
||||
type: "choice"
|
||||
params:
|
||||
values: ["0", "1", "2"]
|
||||
- name: "patch"
|
||||
type: "choice"
|
||||
params:
|
||||
values: ["0", "1", "2"]
|
||||
|
||||
# === TROUBLESHOOTING ===
|
||||
|
||||
# Discard local changes (CAREFUL!)
|
||||
- trigger: "}gitdc"
|
||||
replace: "git checkout -- $1$"
|
||||
vars:
|
||||
- name: "file"
|
||||
type: "choice"
|
||||
params:
|
||||
values:
|
||||
- "."
|
||||
- "$|$"
|
||||
- "<filename>"
|
||||
|
||||
# Undo last commit (keep changes)
|
||||
- trigger: "}gitundo"
|
||||
# === UNDO & RESET ===
|
||||
- trigger: "}gu"
|
||||
replace: "git reset --soft HEAD~1"
|
||||
|
||||
# Undo last commit (discard changes)
|
||||
- trigger: "}gitundohard"
|
||||
- trigger: "}guh"
|
||||
replace: "git reset --hard HEAD~1"
|
||||
|
||||
# Remove untracked files (CAREFUL!)
|
||||
- trigger: "}gitrmuntracked"
|
||||
- trigger: "}grst"
|
||||
replace: "git reset {{mode}}"
|
||||
vars:
|
||||
- name: mode
|
||||
type: choice
|
||||
params:
|
||||
values: ["--soft HEAD~1", "--hard HEAD~1", "HEAD ", "$|$"]
|
||||
|
||||
- trigger: "}gdc"
|
||||
replace: "git checkout -- {{opt}}"
|
||||
vars:
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "."]
|
||||
|
||||
- trigger: "}gcln"
|
||||
replace: "git clean -fd{{opt}}"
|
||||
vars:
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values: ["", " -n"]
|
||||
|
||||
- trigger: "}grm"
|
||||
replace: "git clean -fd"
|
||||
|
||||
# See what branch you're on
|
||||
- trigger: "}gitcurrbranch"
|
||||
# === CHERRY-PICK & REVERT ===
|
||||
- trigger: "}gcp"
|
||||
replace: "git cherry-pick {{opt}}"
|
||||
vars:
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "-x ", "--continue", "--abort"]
|
||||
|
||||
- trigger: "}grv"
|
||||
replace: "git revert {{opt}}"
|
||||
vars:
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values: ["HEAD", "HEAD~1", "$|$"]
|
||||
|
||||
# === MISC ===
|
||||
- trigger: "}gbl"
|
||||
replace: "git blame $|$"
|
||||
|
||||
- trigger: "}grl"
|
||||
replace: "git reflog"
|
||||
|
||||
- trigger: "}gbs"
|
||||
replace: "git bisect {{opt}}"
|
||||
vars:
|
||||
- name: opt
|
||||
type: choice
|
||||
params:
|
||||
values: ["start", "good", "bad", "reset"]
|
||||
|
||||
- trigger: "}gcfg"
|
||||
replace: 'git config --global {{key}} "{{val}}"'
|
||||
vars:
|
||||
- name: key
|
||||
type: choice
|
||||
params:
|
||||
values:
|
||||
["user.name", "user.email", "core.editor", "init.defaultBranch"]
|
||||
- name: val
|
||||
type: choice
|
||||
params:
|
||||
values: ["$|$", "vim", "main"]
|
||||
|
||||
# === COMMIT CONVENTIONS ===
|
||||
- trigger: "}gcc"
|
||||
replace: "{{type}}{{scope}}: "
|
||||
vars:
|
||||
- name: type
|
||||
type: choice
|
||||
params:
|
||||
values:
|
||||
[
|
||||
"feat",
|
||||
"fix",
|
||||
"docs",
|
||||
"style",
|
||||
"refactor",
|
||||
"perf",
|
||||
"test",
|
||||
"chore",
|
||||
]
|
||||
- name: scope
|
||||
type: choice
|
||||
params:
|
||||
values: ["", "(api)", "(ui)", "(db)", "(auth)", "(ci)"]
|
||||
|
||||
- trigger: "}gfix"
|
||||
replace: "fixup! $|$"
|
||||
|
||||
- trigger: "}gsq"
|
||||
replace: "squash! $|$"
|
||||
|
||||
# === BRANCH NAMES ===
|
||||
- trigger: "}gbr"
|
||||
replace: "release/v$|$"
|
||||
|
||||
- trigger: "}gcb"
|
||||
replace: "git branch --show-current"
|
||||
|
||||
# List all branches with last commit
|
||||
- trigger: "}gitbrl"
|
||||
- trigger: "}gbv"
|
||||
replace: "git branch -vva"
|
||||
|
||||
# Find deleted branches
|
||||
- trigger: "}gitbrd"
|
||||
replace: "git branch --merged | egrep -v \"(^\\*|main|master|develop)\""
|
||||
- trigger: "}gbm"
|
||||
replace: 'git branch --merged | egrep -v "(^\\*|main|master|develop)"'
|
||||
|
||||
# === GIT IGNORE ===
|
||||
# === GITIGNORE ===
|
||||
- trigger: "}gig"
|
||||
replace: 'echo "$|$" >> .gitignore'
|
||||
|
||||
# Add to .gitignore
|
||||
- trigger: "}gitignore"
|
||||
replace: 'echo "$1$" >> .gitignore'
|
||||
- trigger: "}gign"
|
||||
replace: |
|
||||
node_modules/
|
||||
.env
|
||||
npm-debug.log
|
||||
dist/
|
||||
build/
|
||||
|
||||
# Common .gitignore entries
|
||||
- trigger: "}gitignode"
|
||||
replace: "node_modules/\n.env\nnpm-debug.log"
|
||||
- trigger: "}gipy"
|
||||
replace: |
|
||||
__pycache__/
|
||||
*.pyc
|
||||
.env
|
||||
venv/
|
||||
.venv/
|
||||
*.egg-info/
|
||||
|
||||
- trigger: "}gitpython"
|
||||
replace: "__pycache__/\n*.pyc\n.env\nvenv/\n.venv/\n*.egg-info/"
|
||||
- trigger: "}giid"
|
||||
replace: |
|
||||
.idea/
|
||||
*.iml
|
||||
.vscode/
|
||||
.DS_Store
|
||||
|
||||
- trigger: "}gitidea"
|
||||
replace: ".idea/\n*.iml\n.vscode/\n.DS_Store"
|
||||
|
||||
- trigger: "}gitbuild"
|
||||
replace: "dist/\nbuild/\n*.o\n*.obj\n*.exe\n*.dll\n*.so\n*.dylib"
|
||||
- trigger: "}gibd"
|
||||
replace: |
|
||||
dist/
|
||||
build/
|
||||
*.o
|
||||
*.obj
|
||||
*.exe
|
||||
*.dll
|
||||
*.so
|
||||
*.dylib
|
||||
|
||||
210
match/sql.yml
210
match/sql.yml
@ -1,160 +1,154 @@
|
||||
# SQL Snippets for Espanso
|
||||
# SQL snippets - trigger schema: }s<command>
|
||||
# s = sql
|
||||
|
||||
matches:
|
||||
# Basic SELECT statement
|
||||
- trigger: "}sqls"
|
||||
# === DML ===
|
||||
- trigger: "}ss"
|
||||
replace: |
|
||||
SELECT
|
||||
[columns]
|
||||
$1$
|
||||
FROM
|
||||
[table]
|
||||
[WHERE conditions]
|
||||
[ORDER BY column]
|
||||
[LIMIT n];
|
||||
$2$
|
||||
$3$;
|
||||
|
||||
# SELECT with common clauses
|
||||
- trigger: "}sqlsel"
|
||||
- trigger: "}ssa"
|
||||
replace: |
|
||||
SELECT
|
||||
$1$ -- columns
|
||||
FROM
|
||||
$2$ -- table
|
||||
$3$ -- optional: WHERE, GROUP BY, etc.
|
||||
$4$; -- optional: semicolon or other ending
|
||||
$3$ -- WHERE, GROUP BY, etc.
|
||||
$4$; -- ORDER BY, LIMIT
|
||||
|
||||
# INSERT statement
|
||||
- trigger: "}sqli"
|
||||
- trigger: "}si"
|
||||
replace: |
|
||||
INSERT INTO
|
||||
[table] ([columns])
|
||||
$1$ ($2$)
|
||||
VALUES
|
||||
([values]);
|
||||
($3$);
|
||||
|
||||
# UPDATE statement
|
||||
- trigger: "}sqlu"
|
||||
- trigger: "}su"
|
||||
replace: |
|
||||
UPDATE
|
||||
[table]
|
||||
$1$
|
||||
SET
|
||||
[column] = [value]
|
||||
[WHERE conditions];
|
||||
$2$ = $3$
|
||||
WHERE
|
||||
$4$;
|
||||
|
||||
# DELETE statement
|
||||
- trigger: "}sqld"
|
||||
- trigger: "}sd"
|
||||
replace: |
|
||||
DELETE FROM
|
||||
[table]
|
||||
[WHERE conditions];
|
||||
$1$
|
||||
WHERE
|
||||
$2$;
|
||||
|
||||
# CREATE TABLE
|
||||
- trigger: "}sqlct"
|
||||
# === DDL ===
|
||||
- trigger: "}sc"
|
||||
replace: |
|
||||
CREATE TABLE [table] (
|
||||
[column1] [type] [constraints],
|
||||
[column2] [type] [constraints],
|
||||
...
|
||||
CREATE TABLE $1$ (
|
||||
$2$ $3$ $4$,
|
||||
$5$ $6$ $7$
|
||||
);
|
||||
|
||||
# Common WHERE clauses
|
||||
- trigger: "}sqlw"
|
||||
- trigger: "}sci"
|
||||
replace: "CREATE INDEX $1$ ON $2$ ($3$);"
|
||||
|
||||
- trigger: "}sct"
|
||||
replace: "CREATE TABLE $1$ ($2$);"
|
||||
|
||||
# === CLAUSES ===
|
||||
- trigger: "}sw"
|
||||
replace: |
|
||||
WHERE
|
||||
[conditions]
|
||||
$1$
|
||||
|
||||
# JOIN patterns
|
||||
- trigger: "}sqlj"
|
||||
- trigger: "}sj"
|
||||
replace: |
|
||||
[table1]
|
||||
[JOIN_TYPE] JOIN [table2]
|
||||
ON [table1].[key] = [table2].[key]
|
||||
$1$ JOIN $2$
|
||||
ON $3$.$4$ = $5$.$6$
|
||||
|
||||
# Aggregate functions
|
||||
- trigger: "}sqlagg"
|
||||
- trigger: "}so"
|
||||
replace: |
|
||||
ORDER BY
|
||||
$1$ $2$
|
||||
|
||||
- trigger: "}sg"
|
||||
replace: |
|
||||
SELECT
|
||||
[GROUP_BY_COLUMN],
|
||||
COUNT(*) as count,
|
||||
SUM([numeric_column]) as total,
|
||||
AVG([numeric_column]) as average,
|
||||
MAX([column]) as max_value,
|
||||
MIN([column]) as min_value
|
||||
FROM
|
||||
[table]
|
||||
GROUP BY
|
||||
[GROUP_BY_COLUMN]
|
||||
$1$
|
||||
|
||||
# Subquery pattern
|
||||
- trigger: "}sqlsub"
|
||||
- trigger: "}sl"
|
||||
replace: "LIMIT $1$"
|
||||
|
||||
# === ADVANCED ===
|
||||
- trigger: "}sa"
|
||||
replace: |
|
||||
SELECT
|
||||
[columns]
|
||||
$1$,
|
||||
COUNT(*) AS cnt,
|
||||
SUM($2$) AS total,
|
||||
AVG($3$) AS avg_val
|
||||
FROM
|
||||
[table1]
|
||||
WHERE [column] IN (
|
||||
SELECT [column]
|
||||
FROM [table2]
|
||||
WHERE [conditions]
|
||||
)
|
||||
$4$
|
||||
GROUP BY
|
||||
$1$;
|
||||
|
||||
# Common SQL comments
|
||||
- trigger: "}sqlc"
|
||||
replace: "-- $|$"
|
||||
- trigger: "}sqlcb"
|
||||
replace: "/* $|$ */"
|
||||
|
||||
# Transaction wrapper
|
||||
- trigger: "}sqltr"
|
||||
- trigger: "}ssq"
|
||||
replace: |
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
$|$
|
||||
|
||||
COMMIT;
|
||||
-- ROLLBACK; -- uncomment to rollback instead
|
||||
SELECT
|
||||
$1$
|
||||
FROM
|
||||
$2$
|
||||
WHERE $3$ IN (
|
||||
SELECT $4$
|
||||
FROM $5$
|
||||
WHERE $6$
|
||||
);
|
||||
|
||||
# CTE (Common Table Expression)
|
||||
- trigger: "}sqlcte"
|
||||
- trigger: "}scte"
|
||||
replace: |
|
||||
WITH [cte_name] AS (
|
||||
WITH $1$ AS (
|
||||
SELECT
|
||||
[columns]
|
||||
$2$
|
||||
FROM
|
||||
[table]
|
||||
$3$
|
||||
WHERE
|
||||
[conditions]
|
||||
$4$
|
||||
)
|
||||
SELECT
|
||||
[columns]
|
||||
$5$
|
||||
FROM
|
||||
[cte_name];
|
||||
$1$;
|
||||
|
||||
# CASE statement
|
||||
- trigger: "}sqlcase"
|
||||
- trigger: "}scase"
|
||||
replace: |
|
||||
CASE
|
||||
WHEN [condition1] THEN [result1]
|
||||
WHEN [condition2] THEN [result2]
|
||||
ELSE [default_result]
|
||||
END as [alias]
|
||||
WHEN $1$ THEN $2$
|
||||
WHEN $3$ THEN $4$
|
||||
ELSE $5$
|
||||
END AS $6$
|
||||
|
||||
# Window functions pattern
|
||||
- trigger: "}sqlwin"
|
||||
- trigger: "}swin"
|
||||
replace: |
|
||||
SELECT
|
||||
[columns],
|
||||
[function]() OVER (
|
||||
PARTITION BY [partition_column]
|
||||
ORDER BY [order_column]
|
||||
[ROWS/RANGE frame]
|
||||
) as [alias]
|
||||
FROM
|
||||
[table]
|
||||
$1$() OVER (
|
||||
PARTITION BY $2$
|
||||
ORDER BY $3$
|
||||
) AS $4$
|
||||
|
||||
# Placeholders guide (use these in your templates):
|
||||
# [columns] - list of columns (comma-separated or *)
|
||||
# [table] - table name(s)
|
||||
# [conditions] - WHERE clause conditions
|
||||
# [JOIN_TYPE] - INNER, LEFT, RIGHT, FULL, CROSS
|
||||
# [numeric_column] - column with numeric values for aggregates
|
||||
# [GROUP_BY_COLUMN] - column to group by
|
||||
# $1$, $2$ etc. - tab stops (use Tab to navigate)
|
||||
# $|$ - final cursor position
|
||||
# === TRANSACTIONS ===
|
||||
- trigger: "}str"
|
||||
replace: |
|
||||
BEGIN;
|
||||
|
||||
$1$
|
||||
|
||||
COMMIT;
|
||||
-- ROLLBACK;
|
||||
|
||||
# === COMMENTS ===
|
||||
- trigger: "}scmt"
|
||||
replace: "-- $|$"
|
||||
|
||||
- trigger: "}scmb"
|
||||
replace: "/* $|$ */"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user