commit da8f068975c34fd95d87f6a94101c46ad77c1722 Author: kj Date: Tue Mar 29 19:21:13 2022 -0400 First commit. diff --git a/configs/base-extensions.el b/configs/base-extensions.el new file mode 100644 index 0000000..0a1be9d --- /dev/null +++ b/configs/base-extensions.el @@ -0,0 +1,626 @@ +;;; base-extensions.el --- Extenciones/paquetes instalados y su configuración + +;; Author: kj +;; URL: https://git.kj2.me/kj/confi-emacs-actual + +;;; Commentary: + +;;; Code: + +;; use-package - No necesita presentación +(use-package use-package + :config + (setq use-package-always-ensure t) ; auto-instalar extenciones que no lo estén + ) + +;; Auto-actualizar los paquetes +(use-package auto-package-update + :custom + (auto-package-update-interval 7) + (auto-package-update-prompt-before-update t) + (auto-package-update-hide-results t) + :config + (auto-package-update-maybe) + (auto-package-update-at-time "06:00") + :init + (setq + auto-package-update-last-update-day-filename + (expand-file-name ".last-package-update-day" private-dir))) + +;; Iconos principalmente para ser usados por neotree +(use-package all-the-icons) + +;; Highlight en los números. +(use-package highlight-numbers + :ensure t + :hook + (prog-mode . highlight-numbers-mode)) + +;; Barra lateral de archivos +(use-package treemacs + :ensure t + :hook (treemacs-mode . (lambda() (display-line-numbers-mode -1))) + :bind ([mouse-1] . treemacs-single-click-expand-action) + :init + (with-eval-after-load 'winum + (define-key winum-keymap (kbd "M-0") #'treemacs-select-window)) + + :config + (progn + (setq treemacs-collapse-dirs (if treemacs-python-executable 3 0) + treemacs-deferred-git-apply-delay 0.5 + treemacs-directory-name-transformer #'identity + treemacs-display-in-side-window t + treemacs-eldoc-display 'simple + treemacs-file-event-delay 5000 + treemacs-file-extension-regex treemacs-last-period-regex-value + treemacs-file-follow-delay 0.2 + treemacs-file-name-transformer #'identity + treemacs-follow-after-init t + treemacs-expand-after-init t + treemacs-find-workspace-method 'find-for-file-or-pick-first + treemacs-git-command-pipe "" + treemacs-goto-tag-strategy 'refetch-index + treemacs-indentation 2 + treemacs-indentation-string " " + treemacs-is-never-other-window nil + treemacs-max-git-entries 5000 + treemacs-missing-project-action 'ask + treemacs-move-forward-on-expand nil + treemacs-no-png-images nil + treemacs-no-delete-other-windows t + treemacs-project-follow-cleanup nil + treemacs-persist-file (expand-file-name "cache/treemacs-persist" private-dir) + treemacs-position 'left + treemacs-read-string-input 'from-child-frame + treemacs-recenter-distance 0.1 + treemacs-recenter-after-file-follow nil + treemacs-recenter-after-tag-follow nil + treemacs-recenter-after-project-jump 'always + treemacs-recenter-after-project-expand 'on-distance + treemacs-litter-directories '("/node_modules" "/.venv" "/.cask") + treemacs-show-cursor nil + treemacs-show-hidden-files t + treemacs-silent-filewatch nil + treemacs-silent-refresh nil + treemacs-sorting 'alphabetic-asc + treemacs-select-when-already-in-treemacs 'move-back + treemacs-space-between-root-nodes t + treemacs-tag-follow-cleanup t + treemacs-tag-follow-delay 1.5 + treemacs-text-scale nil + treemacs-user-mode-line-format nil + treemacs-user-header-line-format nil + treemacs-wide-toggle-width 70 + treemacs-width 35 + treemacs-width-increment 1 + treemacs-width-is-initially-locked t + treemacs-workspace-switch-cleanup nil) + + ;; The default width and height of the icons is 22 pixels. If you are + ;; using a Hi-DPI display, uncomment this to double the icon size. + ;;(treemacs-resize-icons 44) + + (treemacs-follow-mode t) + (treemacs-filewatch-mode t) + (treemacs-fringe-indicator-mode 'always) + + (pcase (cons (not (null (executable-find "git"))) + (not (null treemacs-python-executable))) + (`(t . t) + (treemacs-git-mode 'deferred)) + (`(t . _) + (treemacs-git-mode 'simple))) + + (treemacs-hide-gitignored-files-mode nil)) + :bind + (:map global-map + ("M-0" . treemacs-select-window) + ("C-x t 1" . treemacs-delete-other-windows) + ("" . treemacs) + ("" . treemacs-display-current-project-exclusively) + ("" . treemacs-add-and-display-current-project) + ("C-x t d" . treemacs-select-directory) + ("C-x t B" . treemacs-bookmark) + ("C-x t C-t" . treemacs-find-file) + ("C-x t M-t" . treemacs-find-tag))) + +(use-package treemacs-evil + :after (treemacs evil) + :ensure t + :config + ;; Atajos de tecla con leader key de evil-mode. + (evil-set-leader 'treemacs (kbd "SPC")) + (evil-define-key 'treemacs 'global (kbd "b") 'ivy-switch-buffer) + (evil-define-key 'treemacs 'global (kbd "v") 'counsel-projectile) + (evil-define-key 'treemacs 'global (kbd "p") 'counsel-projectile) + (evil-define-key 'treemacs 'global (kbd "cp") 'treemacs-projectile) + (evil-define-key 'treemacs 'global (kbd "d") 'treemacs-remove-project-from-workspace)) + +(use-package treemacs-projectile + :after (treemacs projectile) + :ensure t) + +(use-package treemacs-icons-dired + :hook (dired-mode . treemacs-icons-dired-enable-once) + :ensure t) + +(use-package treemacs-magit + :after (treemacs magit) + :ensure t) + +(use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode + :after (treemacs persp-mode) ;;or perspective vs. persp-mode + :ensure t + :config (treemacs-set-scope-type 'Perspectives)) + +(use-package treemacs-tab-bar ;;treemacs-tab-bar if you use tab-bar-mode + :after (treemacs) + :ensure t + :config (treemacs-set-scope-type 'Tabs)) + +;; Recentf - Guarda registro de los archivos abiertos recientemente +(use-package recentf + :config + (setq recentf-save-file + (recentf-expand-file-name (concat temp-dir "/recentf"))) + (recentf-mode 1)) + + +;; Guardar la posición del cursor en un archivo para volver allí cuando se lo vuelva a abrir. +(use-package saveplace + :config + (save-place-mode 1) + (setq save-place-file (locate-user-emacs-file (concat temp-dir "/places")))) + +;; Emmet - Una ayuda para escribir HTML rápidamente (escribre doc, luego preciona C-j y lo entenderás) +(use-package emmet-mode + :config + (add-hook 'sgml-mode-hook 'emmet-mode) ;; Auto-start on any markup modes + (add-hook 'html-mode-hook 'emmet-mode) + (add-hook 'css-mode-hook 'emmet-mode) + ) + +;; Modo markdown +(use-package markdown-mode) + +;; Git Gutter - Marca a la izq. si una linea ha sido agregada, editada o eliminada desde el último commit. +(use-package git-gutter + :config + (global-git-gutter-mode +1) ; Habilitar git gutter de manera global + ) + +;; Mejorando el scroll +(use-package smooth-scrolling + :config + (smooth-scrolling-mode 1) ; Cambia el salto de líneas cuando el cursor llega al final. + (setq mouse-wheel-scroll-amount + '(8 ((shift) . 1) ((control) . nil))) ; Cambia el scroll a 8 líneas a la vez, 1 cuando se preciona SHIFT y saltos de página cuando presionas CTRL + (setq mouse-wheel-progressive-speed nil) ; Deshabilita la velocidad progresiva del scroll (mientras más scroll haces, mas rápido va) + ) + +;; Esa línea bonita de abajo del editor que dice cosas xD +(use-package telephone-line + :custom + (telephone-line-primary-left-separator 'telephone-line-cubed-left) + (telephone-line-secondary-left-separator 'telephone-line-cubed-hollow-left) + (telephone-line-primary-right-separator 'telephone-line-cubed-right) + (telephone-line-secondary-right-separator 'telephone-line-cubed-hollow-right) + (telephone-line-evil-use-short-tag t) + + (setq telephone-line-lhs + '((evil . (telephone-line-evil-tag-segment)) + (accent . (telephone-line-vc-segment + telephone-line-erc-modified-channels-segment + telephone-line-process-segment)) + (nil . (;telephone-line-minor-mode-segment + telephone-line-buffer-segment)))) + (setq telephone-line-rhs + '((nil . (telephone-line-misc-info-segment)) + (accent . (telephone-line-major-mode-segment)) + (evil . (telephone-line-airline-position-segment)))) + (telephone-line-mode t) + ) + +;; Control más "natural" a la hora de hacer/deshacer. +(use-package undo-tree + :init + (setq undo-tree-auto-save-history nil) + (global-undo-tree-mode 1) + :config + (global-set-key (kbd "C-z") 'undo-tree-undo) + (global-set-key (kbd "C-y") 'undo-tree-redo) + ) + +;; Hacer uso de Emacs con las ventajas de vim. +(use-package evil + :init + (evil-mode 1) + (setq evil-want-integration t) + (setq evil-want-keybinding nil) + (setq evil-want-C-u-scroll t) + (setq evil-want-C-i-jump nil) + (setq evil-respect-visual-line-mode t) + (setq evil-undo-system 'undo-tree) + (setq evil-toggle-key "C-'") ; Cambiar toggle-key cambiar entre evil states y emacs. + ;; (setq evil-default-state 'emacs) ; Modo por defecto en emacs mode + :config + (define-key evil-normal-state-map (kbd "g b") 'evil-jump-backward) + ;; Hacer que funcione C-v en modo insert y replace + ;;(evil-global-set-key 'insert (kbd "C-v") 'cua-paste) + ;;(evil-global-set-key 'replace (kbd "C-v") 'cua-paste) + ;; Cortar es C-x 2 veces en modo insert y replace + ;;(evil-global-set-key 'insert (kbd "C-x C-x") 'cua-cut-region) + ;;(evil-global-set-key 'replace (kbd "C-x C-x") 'cua-cut-region) + ;; Seleccionar todo con C-a en insert mode + (evil-global-set-key 'insert (kbd "C-a") 'mark-whole-buffer) + + ;; ** + ;; Atajos personalizados con leader key + ;; ** + + ;; Definiendo la leader key + (evil-set-leader 'normal (kbd "SPC")) + (evil-set-leader 'visual (kbd "SPC")) + + ;; Atajos para counsel-projectile y switch buffer con leader key + (evil-define-key 'normal 'global (kbd "b") 'ivy-switch-buffer) + (evil-define-key 'visual 'global (kbd "b") 'ivy-switch-buffer) + (evil-define-key 'normal 'global (kbd "v") 'counsel-projectile) + (evil-define-key 'normal 'global (kbd "cp") 'projectile-switch-project) + (evil-define-key 'visual 'global (kbd "v") 'counsel-projectile) + (evil-define-key 'visual 'global (kbd "cp") 'projectile-switch-project) + (evil-define-key 'normal 'global (kbd "ff") 'counsel-find-file) + (evil-define-key 'visual 'global (kbd "ff") 'counsel-find-file) + + ;; Atajos windmove con leader key + (evil-define-key 'normal 'global (kbd "wh") 'windmove-left) + (evil-define-key 'normal 'global (kbd "wj") 'windmove-down) + (evil-define-key 'normal 'global (kbd "wk") 'windmove-up) + (evil-define-key 'normal 'global (kbd "wl") 'windmove-right) + + ;; Atajos con leader key para frames + (evil-define-key 'normal 'global (kbd "0") 'delete-window) + (evil-define-key 'normal 'global (kbd "1") 'delete-other-windows) + (evil-define-key 'normal 'global (kbd "2") 'split-window-below) + (evil-define-key 'normal 'global (kbd "3") 'split-window-right) + (evil-define-key 'normal 'global (kbd "kb") 'kill-buffer) + (evil-define-key 'normal 'global (kbd "wb") 'winner-undo) + (evil-define-key 'normal 'global (kbd "nb") 'winner-redo) + + ;; Cambiar el cursor según el estado + (setq evil-emacs-state-cursor 'bar) + (setq evil-motion-state-cursor 'bar) + (setq evil-normal-state-cursor 'box) + (setq evil-visual-state-cursor 'box) + (setq evil-insert-state-cursor 'bar) + (setq evil-replace-state-cursor 'hollow) + (setq evil-operator-state-cursor 'hollow) + ;; Establecer modos por defecto en algunos modos + (evil-set-initial-state 'shell-mode 'insert) + (evil-set-initial-state 'term-mode 'emacs) + (evil-set-initial-state 'help-mode 'emacs) + (evil-set-initial-state 'helm-grep-mode 'emacs) + (evil-set-initial-state 'grep-mode 'emacs) + (evil-set-initial-state 'dired-mode 'emacs) + (evil-set-initial-state 'Buffer-menu-mode 'emacs) + (evil-set-initial-state 'wdired-mode 'normal) + ;; Por defecto usar emcas mode. + ;;(setq evil-default-state 'emacs) + ) + +;; Edición múltiple con evil (Atajos por defecto: C-d y C-D) +(use-package evil-multiedit + :config + (evil-multiedit-default-keybinds) + ) + +;; Code Folding +(use-package origami + :config + (global-origami-mode)) + +;; Automcompletado +(use-package company + :bind (:map company-active-map + ("" . company-indent-or-complete-common)) ; autocompletar con tab como se haría en bash-competition en la terminal de linux + (:map company-active-map + ("" . company-abort)) ; cerrar las sugerencias de autocompletado precionando escape. + :config + (global-company-mode) + (setq company-dabbrev-downcase nil) ; autocompletado case-sensitive. + (setq company-idle-delay 0) ; mostrar autocompletado lo más rápido posible + (setq company-minimum-prefix-length 1) ; mostrar autocompletado desde que se coloca la primera letra. + (setq company-backends '((company-files :with company-yasnippet) + (company-capf :with company-yasnippet) + (company-dabbrev-code company-gtags company-etags company-keywords :with company-yasnippet) + (company-dabbrev :with company-yasnippet))) + ) + +;; Poner la info acerca del autocompletado del autocompletado mas rápido +(use-package company-quickhelp + :ensure t + :custom + (company-quickhelp-delay 2) + (company-quickhelp-mode)) + +;; Hacer que el autocompletado se vea más bonito con íconos +(use-package company-box + :hook (company-mode . company-box-mode)) + +;; Usar autocompletado con ctags y company +(use-package company-ctags + :config + (add-to-list 'company-backends '(company-ctags)) + ) + +;; Snippets +(use-package yasnippet + :ensure t + :custom + (yas-prompt-functions '(yas-completing-prompt)) + :config + (yas-reload-all) + :hook + ((prog-mode feature-mode) . yas-minor-mode)) + +;; Restaurar el estado de los frames +(use-package winner + :init + (winner-mode 1)) + +(use-package lsp-mode + :defer t + :hook (js-mode . lsp) + :custom + (lsp-headerline-breadcrumb-enable nil)) + +(use-package lsp-ui) + +;; Revisar sintaxis en vivo +(use-package flycheck + ;; :diminish flycheck-mode + :hook (after-init . global-flycheck-mode) ; Habilitar flycheck en todos los modos + ) + +;; Mostrar los errores de flycheck en un pop up +(use-package flycheck-popup-tip + :hook (flycheck-mode . flycheck-popup-tip-mode)) + +;; Un bonito y sencillo panel de inicio +(use-package dashboard + :config + (setq dashboard-set-file-icons t) + (setq dashboard-startup-banner + (expand-file-name "duck-small.png" user-emacs-directory)) + (setq dashboard-items '( + ;;(recents . 5) + ;;(projects . 5) + )) + (dashboard-setup-startup-hook) + ) + +;; Autocompletado para shell scripting. +(use-package company-shell + :config + (add-to-list 'company-backends '(company-shell company-shell-env company-fish-shell)) + ) + +;; Autocompletado para el minibuffer (counsel e ivy) +(use-package counsel + :bind + ("M-x" . counsel-M-x) + ("C-x C-m" . counsel-M-x) + ("C-x C-f" . counsel-find-file) + ("C-x c k" . counsel-yank-pop)) + +(use-package projectile + :diminish projectile-mode + :config + (projectile-mode) + :custom ((projectile-completion-system 'ivy)) + :bind-keymap + ("C-c p" . projectile-command-map) + :init + ;; Rutas de archivos temporales. + (setq projectile-cache-file (expand-file-name "projectile.cache" temp-dir)) + (setq projectile-known-projects-file (expand-file-name + "projectile-bookmarks.eld" temp-dir)) + ;; Carpetas donde tienes tus proyectos (deben tener un archivo .projectile o un repro git iniciado). + (when (file-directory-p "~/Proyectos") + (setq projectile-project-search-path '("~/Proyectos"))) + (when (file-directory-p "~/Docker/Nginx") + (setq projectile-project-search-path (append + projectile-project-search-path + '("~/Docker/Nginx")))) + (when (file-directory-p "~/Docker/Nginx2") + (setq projectile-project-search-path (append + projectile-project-search-path + '("~/Docker/Nginx2")))) + (when (file-directory-p "~/Docker/NginxTwitch") + (setq projectile-project-search-path (append + projectile-project-search-path + '("~/Docker/NginxTwitch")))) + (setq projectile-switch-project-action #'projectile-dired) ; Usar dired cuando se elija un proyecto. + + ;; Cambiar el título de la ventana de emacs + (setq frame-title-format + '( + (:eval + (let ((project-name (projectile-project-name))) + (unless (string= "-" project-name) + (format "[%s] " project-name)))) + "%b" + " - Emacs") + ) + ) + +;; Autocompletado de proyectos en counsel (projectile) +(use-package counsel-projectile + :config + (global-set-key (kbd "C-x v") 'counsel-projectile) + (counsel-projectile-mode)) + +;; Mostrar info del panel inferior de otra manera +(use-package ivy + :bind + ("C-x s" . swiper) + ("C-x C-r" . ivy-resume) + ("C-x b" . ivy-switch-buffer) + :config + (ivy-mode 1) + (setq ivy-use-virtual-buffers nil) + (define-key ivy-minibuffer-map (kbd "TAB") 'ivy-partial) + (define-key read-expression-map (kbd "C-r") 'counsel-expression-history) + (define-key ivy-minibuffer-map (kbd "") 'minibuffer-keyboard-quit) + ) + +;; Iconos en Ivy (allthe icons) +(use-package all-the-icons-ivy-rich + :ensure t + :init (all-the-icons-ivy-rich-mode 1) + :config + (setq all-the-icons-ivy-rich-color-icon t)) + +(use-package ivy-rich + :ensure t + :init (ivy-rich-mode 1)) + +;; Cuando iniicias un atajo de teclas te muestra las posibilidades +(use-package which-key + :config + (which-key-mode)) + +;; Autocompletado de parentesis, corchetes, llaves, etc. +(use-package smartparens + :config + (smartparens-global-mode t)) + +(use-package terminal-here + :init + (global-set-key (kbd "C-") #'terminal-here-launch) + :config + (setq terminal-here-linux-terminal-command 'gnome-terminal) ;; Configuramos que user gnome-terminal por defecto + ) + +;; Org-Mode + +(defun efs/org-font-setup () + "ORG font faces setup." + + ;; Set faces for heading levels + (dolist (face '((org-level-1 . 1.2) + (org-level-2 . 1.1) + (org-level-3 . 1.05) + (org-level-4 . 1.0) + (org-level-5 . 1.1) + (org-level-6 . 1.1) + (org-level-7 . 1.1) + (org-level-8 . 1.1))) + (set-face-attribute (car face) nil :font "Cantarell" :weight 'regular :height (cdr face))) + + ;; Ensure that anything that should be fixed-pitch in Org files appears that way + (set-face-attribute 'org-block nil :foreground nil :inherit 'fixed-pitch) + (set-face-attribute 'org-table nil :inherit 'fixed-pitch) + (set-face-attribute 'org-formula nil :inherit 'fixed-pitch) + (set-face-attribute 'org-code nil :inherit '(shadow fixed-pitch)) + (set-face-attribute 'org-table nil :inherit '(shadow fixed-pitch)) + (set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch)) + (set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch)) + (set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch)) + (set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch) + (set-face-attribute 'line-number nil :inherit 'fixed-pitch) + (set-face-attribute 'line-number-current-line nil :inherit 'fixed-pitch)) + +(defun efs/org-mode-setup () + "Set some configs on 'org-mode'." + (display-line-numbers-mode 0) + (org-indent-mode) + (variable-pitch-mode 1) + (visual-line-mode 1) + (setq evil-auto-indent nil) + ) + +(use-package org + :pin org + :hook (org-mode . efs/org-mode-setup) + :config + (setq org-ellipsis " ▾") + (setq org-hide-emphasis-markers t) + + (setq org-agenda-start-with-log-mode t) + (setq org-log-done 'time) + (setq org-log-into-drawer t) + + + ;; Palabras claves del To Do de org-mode + (setq org-todo-keywords + ;;'((sequence "☐" "✔" "⌛" "❌"))) + '((sequence "TODO(t)" "DOING(n)" "WAITING(w)" "|" "DONE(d!)" "CANCELED(c!)"))) + (setq org-todo-keyword-faces + '(("TODO" . "#ff6464") + ("DOING" . "yellow") + ("DONE" . "green") + ("WAITING" . "orange") + ("CANCELED" . "#aaa")) + ) + + ;; Archivos a usarse en org-agenda + (setq org-agenda-files + '("~/Proyectos/ORGenda/Ideas.org" + "~/Proyectos/ORGenda/IdeasTwitch.org" + "~/Proyectos/ORGenda/Proyectos.org" + "~/Proyectos/ORGenda/Tareas.org") + ) + + ;; Archivos entre los que se moverán las tareas + (setq org-refile-targets + '(("Archivo.org" :maxlevel . 1) + ("Proyectos.org" :maxlevel . 1) + ("IdeasTwitch.org" :maxlevel . 1) + ("Ideas.org" :maxlevel . 1) + ("Tareas.org" :maxlevel . 1))) + + ;; Guardar los archivos cuando se muevan tareas entre ellos + (advice-add 'org-refile :after 'org-save-all-org-buffers) + + (setq org-capture-templates + `(("t" "Tareas / Projectos") + ("tt" "Tareas" entry (file+olp "~/Proyectos/ORGenda/Tareas.org") + "* TODO %?\n %U\n %a\n %i" :empty-lines 1) + ("tp" "Proyectos" entry (file+olp "~/Proyectos/ORGenda/Proyectos.org") + "* TODO %?\n %U\n %a\n %i" :empty-lines 1) + ("i" "Ideas") + ("ii" "Ideas General" entry + (file+olp "~/Proyectos/ORGenda/ideas.org") + "* TODO %?\n %a\n %i" :empty-lines 1) + ("it" "Ideas Twitch" entry + (file+olp "~/Proyectos/ORGenda/IdeasTwitch.org") + "* TODO %?\n %a\n %i" :empty-lines 1) + ) + ) + + (efs/org-font-setup)) + +(use-package org-superstar + :hook + (org-mode . org-superstar-mode) + :config + (setq org-superstar-special-todo-items t) + ) + +(defun efs/org-mode-visual-fill () + "Visual mode fill columns." + (visual-fill-column-mode 1)) + +(use-package visual-fill-column + :hook (org-mode . efs/org-mode-visual-fill) + :config + ;; Tamaño de la columna + (setq visual-fill-column-width 150) + ;; Centrar el texto + (setq-default visual-fill-column-center-text t) + ) + +(provide 'base-extensions) +;;; base-extensions.el ends here diff --git a/configs/base-functions.el b/configs/base-functions.el new file mode 100644 index 0000000..064b6e8 --- /dev/null +++ b/configs/base-functions.el @@ -0,0 +1,46 @@ +(provide 'base-functions) + +;; Buscar el texto actualmente seleccionado +(defun kj-isearch-with-region () + "Use region as the isearch text." + (when mark-active + (let ((region (funcall region-extract-function nil))) + (deactivate-mark) + (isearch-push-state) + (isearch-yank-string region)))) + +(add-hook 'isearch-mode-hook #'kj-isearch-with-region) + +;; Borrar espacios, tabs y saltos de línea innecesarios al guardar +(add-hook 'before-save-hook 'delete-trailing-whitespace) + + +;; Generar archivo TAGS +(defun create-tags (dir-name) + "Create tags file." + (interactive "DDirectory: ") + (shell-command + (format "cd '%s' && ctags -f TAGS -e -R --exclude=*.min.js" + (directory-file-name (file-truename dir-name)) + ) + ) + (message "Archivo TAGS generado.") + ) + +;; Hacer emacs transparente (no funciona perfecto, pero sirve) +(defun toggle-transparency () + (interactive) + (let ((alpha (frame-parameter nil 'alpha))) + (set-frame-parameter + nil 'alpha + (if (eql (cond ((numberp alpha) alpha) + ((numberp (cdr alpha)) (cdr alpha)) + ;; Also handle undocumented ( ) form. + ((numberp (cadr alpha)) (cadr alpha))) + 100) + '(60 . 60) '(100 . 100))))) + +(defun transparency (value) + "Sets the transparency of the frame window. 0=transparent/100=opaque" + (interactive "nTransparency Value 0 - 100 opaque:") + (set-frame-parameter (selected-frame) 'alpha value)) diff --git a/configs/base-keys.el b/configs/base-keys.el new file mode 100644 index 0000000..ca9ee01 --- /dev/null +++ b/configs/base-keys.el @@ -0,0 +1,29 @@ +;;; base-keys.el --- Archivo de configuración de atajos + +;; Author: kj +;; URL: https://git.kj2.me/kj/confi-emacs-actual + +;;; Commentary: + +;; Aquí se configuran los atajos globales. +;; Es posible que haya otros, ya que muchos se configuran +;; directamente en los paquetes/extensiones y dependen de los mismos. + +;;; Code: + +(define-key minibuffer-local-map (kbd "") + 'keyboard-escape-quit) ; Cancelar el minibuffer con un solo ESC. +(global-set-key (kbd "C-x C-z") nil) ; Unbind C-x C-z (don't minimize) +(global-set-key (kbd "C-a") 'mark-whole-buffer) ; Seleccionar todo con CTRL+A. + +(global-set-key (kbd "M-c") 'comment-or-uncomment-region) ; Comentar/descomentar en lote + +(global-set-key (kbd "C-") 'create-tags) ; Generar o Regeneral el archivo TAGS + +(global-set-key (kbd "C-") 'toggle-frame-maximized) ; Maximizar / restaurar + +(global-set-key (kbd "C-c a") 'org-agenda) ; Abrir la agenda. +(global-set-key (kbd "C-c c") 'org-capture) ; Abrir la crear una entrada. + +(provide 'base-keys) +;;; base-keys.el ends here diff --git a/configs/base.el b/configs/base.el new file mode 100644 index 0000000..bfd24f6 --- /dev/null +++ b/configs/base.el @@ -0,0 +1,124 @@ +;;; base.el --- Configuración base de emacs + +;; Author: kj +;; URL: https://git.kj2.me/kj/confi-emacs-actual + +;;; Commentary: + +;; Configuración base de Emacs, no incluye extensiones, +;; pero si el theme y los fonts. + +;;; Code: + +;; The default is 800 kilobytes. Measured in bytes. +(setq gc-cons-threshold (* 50 1000 1000)) + +;; Initialize package sources +(require 'package) + +(setq package-archives '(("melpa" . "https://melpa.org/packages/") + ("org" . "https://orgmode.org/elpa/") + ("elpa" . "https://elpa.gnu.org/packages/"))) + +(package-initialize) + +;; Actualizar repositorios si aún no esta actualizados +(unless package-archive-contents + (package-refresh-contents)) + +;; Instalar use-package si no está instalado +(unless (package-installed-p 'use-package) + (package-install 'use-package)) + +;; Theme +(use-package dracula-theme + :config + (load-theme 'dracula t) + (set-face-attribute 'default nil :font "Fira Code Retina") ; Font +) + +;; Instalar use-package en caso de no tenerlo +(unless (package-installed-p 'use-package) + (package-install 'use-package)) + +(defconst private-dir (expand-file-name "private" user-emacs-directory)) +(defconst temp-dir (format "%s/cache" private-dir) + "Hostname-based elisp temp directories.") + +;; UTF-8 please +(set-charset-priority 'unicode) +(setq locale-coding-system 'utf-8) ; pretty +(set-terminal-coding-system 'utf-8) ; pretty +(set-keyboard-coding-system 'utf-8) ; pretty +(set-selection-coding-system 'utf-8) ; please +(prefer-coding-system 'utf-8) ; with sugar on top +(setq default-process-coding-system '(utf-8-unix . utf-8-unix)) + +;; Emacs customizations +(menu-bar-mode 0) ; Quitar menús. +(tool-bar-mode 0) ; Quitar toolbar. +(scroll-bar-mode -1) ; Quitar scrollbar. +(tooltip-mode -1) ; Disable tooltips. +(global-display-line-numbers-mode) ; Mostar número de línea. +(show-paren-mode 1) ; Habilitar resaltado de brackets. +;;(cua-mode t) ; Usar CTRL+X, CTRL+C, CTRL+V y CTRL+Z para cortar, copiar, pegar y deshacer. + +(setq-default + cursor-type 'bar ; Usar la barrita como cursor + cursor-in-non-selected-windows nil ; Desaparecer el cursor en frames no activos. + indent-tabs-mode nil ; Cambiar tabs por espacios. + ) +(setq + custom-file (concat private-dir "/.custom.el") ; Cabiar la ruta del código que se genera al isntalar un theme o package + ac-ignore-case nil ; Desactivar el autocapitalizado. + ac-disable-faces nil ; Auto-complete hablitado incluso entre comillas (fuente: https://bit.ly/3a9wCB4). + global-hl-line-mode 1 ; Resaltar línea actual por defecto. + tags-revert-without-query 1 ; Recargar tags (ctags) sin pedir confirmación. + ) + +;; Backups enabled, use nil to disable +(setq + history-length 1000 + backup-inhibited nil + make-backup-files nil + auto-save-default nil + auto-save-list-file-name (concat temp-dir "/autosave") + create-lockfiles nil + backup-directory-alist `((".*" . ,(concat temp-dir "/backup/"))) + auto-save-file-name-transforms `((".*" ,(concat temp-dir "/auto-save-list/") t))) + +;; Configuración cuando es un server +(defun setup-daemon () + (message "Corriendo en modo daemon.") + (set-face-attribute 'default nil :font "Fira Code Retina") + + ;; Set the fixed pitch face + ;;(set-face-attribute 'fixed-pitch nil :font "Fira Code Retina") + + ;; Set the variable pitch face + ;;(set-face-attribute 'variable-pitch nil :font "Cantarell" :weight 'regular) + + ;; Abrir primero el dashboard + (setq initial-buffer-choice (lambda () (get-buffer "*dashboard*"))) + + ;; Cerrar buffers al cerrar emacsclient + (add-hook 'delete-frame-functions + (lambda (frame) + (let* ((window (frame-selected-window frame)) + (buffer (and window (window-buffer window)))) + (when (and buffer (buffer-file-name buffer)) + (kill-buffer buffer))))) + ) + +(if (daemonp) + (add-hook 'after-make-frame-functions + (lambda (frame) + (with-selected-frame frame + (setup-daemon)))) + (message "Corriendo en modo normal.")) + + +(load custom-file) + +(provide 'base) +;;; base.el ends here diff --git a/configs/lang-go.el b/configs/lang-go.el new file mode 100644 index 0000000..a6858ba --- /dev/null +++ b/configs/lang-go.el @@ -0,0 +1,14 @@ +;;; lang-go.el --- Configuración para el lenguaje go + +;; Author: kj +;; URL: https://git.kj2.me/kj/confi-emacs-actual + +;;; Commentary: + +;;; Code: + +(use-package go-mode + :defer t) + +(provide 'lang-go) +;;; lang-go.el ends here diff --git a/configs/lang-js.el b/configs/lang-js.el new file mode 100644 index 0000000..9047151 --- /dev/null +++ b/configs/lang-js.el @@ -0,0 +1,28 @@ +;;; lang-js.el --- Configuración para el lenguaje Javascript + +;; Author: kj +;; URL: https://git.kj2.me/kj/confi-emacs-actual + +;;; Commentary: + +;;; Code: + +(use-package js + :defer t + :mode + ("\\.js$" . js-mode) + :config + (setq js-indent-level 2)) + +;; json-mode +(use-package json-mode + :defer t + :ensure t + :mode + ("\\.json$" . json-mode) + :config + (setq js-indent-level 2)) + + +(provide 'lang-js) +;;; lang-js.el ends here diff --git a/configs/lang-php.el b/configs/lang-php.el new file mode 100644 index 0000000..12ddf0f --- /dev/null +++ b/configs/lang-php.el @@ -0,0 +1,30 @@ +;;; lang-php.el --- Configuración para el lenguaje PHP + +;; Author: kj +;; URL: https://git.kj2.me/kj/confi-emacs-actual + +;;; Commentary: + +;;; Code: + +(use-package company-php :defer t) +(use-package ac-php :defer t) + +(use-package php-mode + :defer t + :bind ("" . php-doc-block) + :config + (add-hook 'php-mode-hook #'(lambda() + (php-enable-default-coding-style) + (company-mode t) ; habilita company mode + (ac-php-core-eldoc-setup) ; habilita soporte para ELDoc + (add-to-list 'company-backends 'company-ac-php-backend) ; Agregar ac-php para a company + )) + ) + +(use-package php-doc-block + :load-path (lambda() (concat private-dir "/packages/php-doc-block")) + ) + +(provide 'lang-php) +;;; lang-php.el ends here diff --git a/duck-small.png b/duck-small.png new file mode 100644 index 0000000..9c3ee89 Binary files /dev/null and b/duck-small.png differ diff --git a/emacs-client-runner.sh b/emacs-client-runner.sh new file mode 100755 index 0000000..427cc78 --- /dev/null +++ b/emacs-client-runner.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# start emacs server if not is running +systemctl --user status emacs > /dev/null 2>&1 || systemctl --user start emacs > /dev/null 2>&1 + +# if args is -nw or -t run on terminal +if [ "$1" == "-t" ] || [ "$1" == "-nw" ]; then + emacsclient -t + exit +fi + +# if no args open new frame +if [ $# -eq 0 ]; then + emacsclient -c -n + emacsclient --eval "(progn (select-frame-set-input-focus (selected-frame)))" + exit +fi + +emacsclient -e "(frames-on-display-list \"$DISPLAY\")" &>/dev/null + +emacsclient -c -n "$*" diff --git a/init.el b/init.el new file mode 100644 index 0000000..3632695 --- /dev/null +++ b/init.el @@ -0,0 +1,24 @@ +;;; init.el --- Init de emacs ordenado + +;; Author: kj +;; URL: https://git.kj2.me/kj/confi-emacs-actual + +;;; Commentary: + +;; Desde aquí se cargan todos los archivos de la carpeta config. + +;;; Code: + +(add-to-list 'load-path (concat user-emacs-directory "configs")) + +(require 'base) +(require 'base-extensions) +(require 'base-functions) +(require 'base-keys) + +(require 'lang-php) +(require 'lang-js) +(require 'lang-go) + +(provide 'init) +;;; init.el ends here diff --git a/private/packages/php-doc-block/php-doc-block.el b/private/packages/php-doc-block/php-doc-block.el new file mode 100755 index 0000000..b139043 --- /dev/null +++ b/private/packages/php-doc-block/php-doc-block.el @@ -0,0 +1,120 @@ +;;; php-doc-block.el --- Php DocBlock generator + +;; Copyright (C) 2016 Dmitriy Moskalyov + +;; Author: Dmitriy Moskalyov +;; Keywords: php docblock +;; Version: 0.0.1 +;; URL: https://github.com/moskalyovd/emacs-php-doc-block + +;; This program is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; This package provides php DocBlock generator. +;; How to use: +;; Clone repository from https://github.com/moskalyovd/emacs-php-doc-block +;; and add to your .emacs(or init.el) file: + +;; (add-to-list 'load-path "~/.emacs.d/emacs-php-doc-block") +;; (require 'php-doc-block) + +;; Then bind command 'php-doc-block to any key you like: + +;; (add-hook 'php-mode-hook +;; (lambda () +;; (local-set-key (kbd "") 'php-doc-block))) + +;;; Code: + +(defun insert-to-prev-line-and-indent (text) + "Insert TEXT to the previous line with indentation." + (beginning-of-line) + (open-line 1) + (insert text) + (indent-according-to-mode)) + +(defun insert-to-next-line-and-indent (text) + "Insert TEXT to the next line with indentation." + (end-of-line) + (newline-and-indent) + (insert text) + (indent-according-to-mode)) + +(defun php-doc-block-var-or-attr (tag-type type name value is-nullable) + "Insert doc block for a property or an attribute" + (cond + ((and value (= (string-width type) 0)) + (cond + ((string-match "^=\s*\\(array(.*)\\|\\[\.*\]\\)" value) (setq type "array")) + ((string-match "^=\s*\[0-9\]*\\.\[0-9\]+$" value) (setq type "float")) + ((string-match "^=\s*\[0-9\]+$" value) (setq type "int")) + ((string-match "^=\s*\['\"]" value) (setq type "string")) + ((string-match "^=\s*\\(true\\|false\\)" value) (setq type "bool")))) + + ((and (= (string-width type) 0) (not value)) + (setq type "mixed"))) + + (when (equal is-nullable "?") + (setq type (concat type "|null"))) + + (insert-to-next-line-and-indent (concat "* @" tag-type " " type " " name))) + +(defun php-doc-block-function (name arguments return-type is-return-nullable) + "Insert php docblock for function" + (insert-to-next-line-and-indent (concat "* " name)) + + (when (> (string-width arguments) 0) + (insert-to-next-line-and-indent "*") + (dolist (arg (split-string arguments "\s*,\s*")) + (string-match "\s*\\(\[\?\]?\\)\s*\\(\[\\\]?\[a-zA-Z0-9_\]*\\)?\s*\\($\[a-zA-Z0-9_\]+\\)\s*\\(=.*\\)?" arg) + (php-doc-block-var-or-attr "param" (match-string 2 arg) (match-string 3 arg) (match-string 4 arg) (match-string 1 arg)))) + + (when (> (string-width return-type) 0) + (insert-to-next-line-and-indent "*") + (when (equal is-return-nullable "?") + (setq return-type (concat return-type "|null"))) + (insert-to-next-line-and-indent (concat "* @return " return-type)))) + +(defun php-doc-block-class (type name) + "Insert php doc block for class, interface etc." + + (insert-to-next-line-and-indent (concat "* " name " " type))) + +(defun php-doc-block () + "Insert php docblock." + (interactive) + (let ((line (thing-at-point 'line))) + (insert-to-prev-line-and-indent "/**") + (cond + ((string-match "function\s*" line) + (beginning-of-line) + (let ((line (thing-at-point 'line)) (func-defun "") (s-point (point)) (e-point (re-search-forward ";\\|{" nil '(nil)))) + (goto-char s-point) + (if e-point + (setq func-defun (replace-regexp-in-string "{\\|\n" "" (buffer-substring s-point e-point))) + (progn + (end-of-line) + (setq func-defun (buffer-substring s-point (point)))) + ) + (when (string-match "function\s+\\([A-Za-z0-9_]+\\)\s*(\\(.*\\))\s*:*\s*\\(\[\?\]?\\)\s*\\(\[A-Za-z0-9_\\\]*\\)" func-defun) + (php-doc-block-function (match-string 1 func-defun) (match-string 2 func-defun) (match-string 4 func-defun) (match-string 3 func-defun))))) + ((string-match "\s*\\([a-zA-Z0-9_]+\\)?\s*\\($\[a-zA-Z0-9_\]+\\)\s*\\(=\[^;\]*\\)?" line) + (php-doc-block-var-or-attr "var" "" (match-string 2 line) (match-string 3 line) "")) + ((string-match "\\(class\\|interface\\|trait\\|abstract class\\)\s+\\(\[a-zA-Z0-9_\]+\\)" line) + (php-doc-block-class (match-string 1 line) (match-string 2 line)))) + (insert-to-next-line-and-indent "*/"))) + +(provide 'php-doc-block) +;;; php-doc-block.el ends here diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..372a5a6 --- /dev/null +++ b/readme.md @@ -0,0 +1,61 @@ +# Configuración de Emacs actual + +Esta configuración para emacs se podría decir que es la heredera de mi [configuración de emacs inicial](https://git.kj2.me/kj/confi-emacs-inicial), la cual ya llevaba tiempo necesitando una manita de gato para arreglar y mejorar algunas cosas que me resultan cómodas para el uso, ademas de comenzar a utilizar `evil-mode`. Esta configuración bien podría haber sido una rama de la inicial, pero he decidido hacer uno nuevo y si es neceario hacer aquí las ramas. + +## Instalación + +Si deseas clonar mi configuración, puedes clonar este repositorio: + +`git clone --depth 1 https://git.kj2.me/kj/confi-emacs-actual.git ~/.emacs.d` + +Instalación de fonts necesarios: + +`sudo apt install fonts-firacode fonts-cantarell` + +Al igual que la versión anterior, puede ser necesario ejecutar el siguiente comando en el minibuffer para tener bien los íconos de neotree: + +`all-the-icons-install-fonts` + +Y eso sería todo. + +## Usar el modo daemon + +El modo daemon permite a emacs cargar mucho más rápido, puesto que con ello evitas volver a cargar la configuración cada vez que abres un nuevo archivo. Si quieres aprender mas sobre esto, puedes revisarlo en la [dococumentación de emacs](https://www.emacswiki.org/emacs/EmacsAsDaemon). + +Para iniciar el daemon, puedes hacerlo desde la terminal ejecutando: + +`sudo systemctl --user start emacs` + +Del mismo modo, igual es recomendable habilitar el autoinicio de este servicio junto con el sistema: + +`sudo systemctl --user enable emacs` + +Finalmente, para abrirlo, es necesaria la usar `emacsclient` en lugar de `emacs`, para hacer que eso suceda en todo el sistema se puede realizar el siguiente hack copiando el archivo `emacs-client-runner.sh` a `/usr/local/bin/` con el nombre `emacs` de la siguiente manera: + +`sudo cp ~/.emacs.d/emacs-client-runner.sh /usr/local/bin/emacs` + +**🔴 Advertencia:** Esto reemplazará emacs por emacsclient, si deseas usar emacs podrás hacerlo mediante: `/bin/emacs` + +**Extra:** Con este hack, para abrir emacs en modo terminal puedes ejecutar: `emacsclient -t`, `emacs -t` o `emacs -nw`. + +## Consideraciones + +- Toda la configuración la he realizado en los archivos que están en los archivos de la carpeta config, el archivo `init.el` solo los llama y no guarda nada más aparte de eso. +- Puede tener activado `evil-mode` (A veces lo activo, pues quiero terminar usándolo siempre), por lo que si no lo quieres tener, recomiendo comentar la línea que lo activa (`(evil-mode 1)`) o directamente toda la sección en `base-extensions.el` que cofigura evil. +- Se puede activar/desactivar `cua-mode` (`configs/base.el`, línea 49) activado para poder copiar, cortar, pegar y deshacer cambios con las combinaciones típicas en lugar de las de emacs. +- Con F9 puedes abrir y cerrar neotree. +- Con C-F11 puedes maximizar/restaurar. +- Con C-F6 se generan/regenera el archivo TAGs. +- Con C-F5 se abre una terminal en la carpeta del archivo actual. +- Con M-c se puede comentar / descomentar un región. +- Por defecto he configurado que al presionar TAB se usen 2 espacios en su lugar. +- Cuando usas `C-s` (buscar), busca el texto actualmente seleccionado. + +Recuerda que si alguna cosa no te gusta, puedes cambiarla a gusto. Esta configuración fue hecha para mi uso personal y puede que tenga cosas que solo a mi me parecen cómodas/útiles. + +## Contacto + +Si se tiene alguna pregunta o quieres comentarme alguna corrección, puesto que este git no está abierto a registro, puedes contactarme mediante: + +E-mail: webmaster@outcontol.net +Telegram: [https://t.me/keyjay](https://t.me/keyjay) diff --git a/snippets/css-mode/import b/snippets/css-mode/import new file mode 100644 index 0000000..e8faaf8 --- /dev/null +++ b/snippets/css-mode/import @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: @import +# key: imp +# uuid: imp +# -- +@import "`(doom-snippets-text nil t)`$0"; \ No newline at end of file diff --git a/snippets/css-mode/importfont b/snippets/css-mode/importfont new file mode 100644 index 0000000..39faa2b --- /dev/null +++ b/snippets/css-mode/importfont @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: @import url("//fonts.googleapis...") +# key: impfont +# uuid: impfont +# -- +@import url("http://fonts.googleapis.com/css?family=${1:Open+Sans}"); \ No newline at end of file diff --git a/snippets/css-mode/importurl b/snippets/css-mode/importurl new file mode 100644 index 0000000..d91fc86 --- /dev/null +++ b/snippets/css-mode/importurl @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: @import url(...) +# key: impurl +# uuid: impurl +# -- +@import url("`(doom-snippets-text nil t)`$0"); \ No newline at end of file diff --git a/snippets/css-mode/margin b/snippets/css-mode/margin new file mode 100644 index 0000000..6431e56 --- /dev/null +++ b/snippets/css-mode/margin @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: margin: ...; +# key: mar +# uuid: mar +# -- +margin: ${1:0 auto}; \ No newline at end of file diff --git a/snippets/css-mode/media b/snippets/css-mode/media new file mode 100644 index 0000000..18b8dae --- /dev/null +++ b/snippets/css-mode/media @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: @media +# key: med +# uuid: med +# -- +@media ${1:screen} { + `%`$0 +} \ No newline at end of file diff --git a/snippets/css-mode/media_orientation b/snippets/css-mode/media_orientation new file mode 100644 index 0000000..2aea9e0 --- /dev/null +++ b/snippets/css-mode/media_orientation @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: @media (orientation: ?) +# condition: (looking-back "@media " (line-beginning-position)) +# -- +(orientation: ${1:landscape}) \ No newline at end of file diff --git a/snippets/css-mode/media_print b/snippets/css-mode/media_print new file mode 100644 index 0000000..66d1f20 --- /dev/null +++ b/snippets/css-mode/media_print @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: @media print { ... } +# -- +@media print { + `%`$0 +} \ No newline at end of file diff --git a/snippets/css-mode/padding b/snippets/css-mode/padding new file mode 100644 index 0000000..e667956 --- /dev/null +++ b/snippets/css-mode/padding @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: padding: ...; +# key: pad +# uuid: pad +# -- +padding: ${1:10px}; \ No newline at end of file diff --git a/snippets/css-mode/property b/snippets/css-mode/property new file mode 100644 index 0000000..c2f4c1e --- /dev/null +++ b/snippets/css-mode/property @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: ...: ...; +# key: : +# uuid: : +# -- +${1:prop}: ${2:`%`}; \ No newline at end of file diff --git a/snippets/go-mode/append b/snippets/go-mode/append new file mode 100644 index 0000000..c818d27 --- /dev/null +++ b/snippets/go-mode/append @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: append +# -- +${1:type} = append($1, ${2:elems}) diff --git a/snippets/go-mode/coloneq b/snippets/go-mode/coloneq new file mode 100644 index 0000000..25f482c --- /dev/null +++ b/snippets/go-mode/coloneq @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: ... := ... +# key: := +# uuid: := +# -- +${1:x} := ${2:`%`} \ No newline at end of file diff --git a/snippets/go-mode/const b/snippets/go-mode/const new file mode 100644 index 0000000..229dbc2 --- /dev/null +++ b/snippets/go-mode/const @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: const ... = ... +# -- +const ${1:name}${2: type} = ${3:value}$0 \ No newline at end of file diff --git a/snippets/go-mode/ctxc b/snippets/go-mode/ctxc new file mode 100644 index 0000000..4948a5e --- /dev/null +++ b/snippets/go-mode/ctxc @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: ctx context.Context +# -- +ctx context.Context \ No newline at end of file diff --git a/snippets/go-mode/f b/snippets/go-mode/f new file mode 100644 index 0000000..4a1175c --- /dev/null +++ b/snippets/go-mode/f @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: func ...(...) ... { ... } +# -- +func ${1:name}(${2:args})${3: return type} { + `%`$0 +} \ No newline at end of file diff --git a/snippets/go-mode/fm b/snippets/go-mode/fm new file mode 100644 index 0000000..a35ace1 --- /dev/null +++ b/snippets/go-mode/fm @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: func (target) name(args) (results) { ... } +# -- +func (${1:target}) ${2:name}(${3:args})${4: return type} { + $0 +} \ No newline at end of file diff --git a/snippets/go-mode/for b/snippets/go-mode/for new file mode 100644 index 0000000..b9814ff --- /dev/null +++ b/snippets/go-mode/for @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: for ... { ... } +# -- +for $1 { + `%`$0 +} \ No newline at end of file diff --git a/snippets/go-mode/fore b/snippets/go-mode/fore new file mode 100644 index 0000000..33b28ba --- /dev/null +++ b/snippets/go-mode/fore @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: for key, value := range ... { ... } +# -- +for ${1:key}, ${2:value} := range ${3:target} { + `%`$0 +} \ No newline at end of file diff --git a/snippets/go-mode/foreach b/snippets/go-mode/foreach new file mode 100644 index 0000000..33b28ba --- /dev/null +++ b/snippets/go-mode/foreach @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: for key, value := range ... { ... } +# -- +for ${1:key}, ${2:value} := range ${3:target} { + `%`$0 +} \ No newline at end of file diff --git a/snippets/go-mode/fori b/snippets/go-mode/fori new file mode 100644 index 0000000..4a3c7c9 --- /dev/null +++ b/snippets/go-mode/fori @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: for i := 0; i < n; i++ { ... } +# -- +for ${1:i} := ${2:0}; $1 < ${3:10}; $1++ { + `%`$0 +} \ No newline at end of file diff --git a/snippets/go-mode/forw b/snippets/go-mode/forw new file mode 100644 index 0000000..b9814ff --- /dev/null +++ b/snippets/go-mode/forw @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: for ... { ... } +# -- +for $1 { + `%`$0 +} \ No newline at end of file diff --git a/snippets/go-mode/func b/snippets/go-mode/func new file mode 100644 index 0000000..4a1175c --- /dev/null +++ b/snippets/go-mode/func @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: func ...(...) ... { ... } +# -- +func ${1:name}(${2:args})${3: return type} { + `%`$0 +} \ No newline at end of file diff --git a/snippets/go-mode/go b/snippets/go-mode/go new file mode 100644 index 0000000..5dda00e --- /dev/null +++ b/snippets/go-mode/go @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: go +# -- +go ${1:func}(${2:args})$0 diff --git a/snippets/go-mode/gof b/snippets/go-mode/gof new file mode 100644 index 0000000..fff6834 --- /dev/null +++ b/snippets/go-mode/gof @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: go func +# -- +go func (${1:args}) { + $0 +}(${2:values}) diff --git a/snippets/go-mode/gofunc b/snippets/go-mode/gofunc new file mode 100644 index 0000000..fceed67 --- /dev/null +++ b/snippets/go-mode/gofunc @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: go func (short) +# -- +go func (${1:args}) { + $0 +}(${2:values}) diff --git a/snippets/go-mode/if b/snippets/go-mode/if new file mode 100644 index 0000000..0c90e1d --- /dev/null +++ b/snippets/go-mode/if @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: if ... { ... } +# -- +if ${1:condition} { + `%`$0 +} \ No newline at end of file diff --git a/snippets/go-mode/ife b/snippets/go-mode/ife new file mode 100644 index 0000000..e8af1d1 --- /dev/null +++ b/snippets/go-mode/ife @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: if ... { ... } else { ... } +# -- +if ${1:condition} { + `%`$2 +} else { + $0 +} \ No newline at end of file diff --git a/snippets/go-mode/iferr b/snippets/go-mode/iferr new file mode 100644 index 0000000..87922f0 --- /dev/null +++ b/snippets/go-mode/iferr @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: if err != nil { ... } +# -- +if err != nil { + `%`$0 +} \ No newline at end of file diff --git a/snippets/go-mode/imp b/snippets/go-mode/imp new file mode 100644 index 0000000..d23663e --- /dev/null +++ b/snippets/go-mode/imp @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: import +# -- +import ${1:package}$0 \ No newline at end of file diff --git a/snippets/go-mode/import b/snippets/go-mode/import new file mode 100644 index 0000000..d23663e --- /dev/null +++ b/snippets/go-mode/import @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: import +# -- +import ${1:package}$0 \ No newline at end of file diff --git a/snippets/go-mode/interface b/snippets/go-mode/interface new file mode 100644 index 0000000..da4108a --- /dev/null +++ b/snippets/go-mode/interface @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: type ... interface { ... } +# -- +type $1 interface { + `%`$0 +} diff --git a/snippets/go-mode/main b/snippets/go-mode/main new file mode 100644 index 0000000..0b042c2 --- /dev/null +++ b/snippets/go-mode/main @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: func main() { ... } +# -- +func main() { + $0 +} \ No newline at end of file diff --git a/snippets/go-mode/map b/snippets/go-mode/map new file mode 100644 index 0000000..e3f3244 --- /dev/null +++ b/snippets/go-mode/map @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: map +# -- +map[${1:KeyType}]${2:ValueType} \ No newline at end of file diff --git a/snippets/go-mode/method b/snippets/go-mode/method new file mode 100644 index 0000000..a35ace1 --- /dev/null +++ b/snippets/go-mode/method @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: func (target) name(args) (results) { ... } +# -- +func (${1:target}) ${2:name}(${3:args})${4: return type} { + $0 +} \ No newline at end of file diff --git a/snippets/go-mode/package b/snippets/go-mode/package new file mode 100644 index 0000000..86eb150 --- /dev/null +++ b/snippets/go-mode/package @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: package +# -- +package ${1:`(car (last (split-string (file-name-directory buffer-file-name) "/") 2))`} \ No newline at end of file diff --git a/snippets/go-mode/pkg b/snippets/go-mode/pkg new file mode 100644 index 0000000..88c1d01 --- /dev/null +++ b/snippets/go-mode/pkg @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: package (short) +# -- +package ${1:`(car (last (split-string (file-name-directory buffer-file-name) "/") 2))`} \ No newline at end of file diff --git a/snippets/go-mode/pr b/snippets/go-mode/pr new file mode 100644 index 0000000..7baa73c --- /dev/null +++ b/snippets/go-mode/pr @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: printf +# -- +fmt.Printf("$1\n"${2:, ${3:str}}) \ No newline at end of file diff --git a/snippets/go-mode/printf b/snippets/go-mode/printf new file mode 100644 index 0000000..7baa73c --- /dev/null +++ b/snippets/go-mode/printf @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: printf +# -- +fmt.Printf("$1\n"${2:, ${3:str}}) \ No newline at end of file diff --git a/snippets/go-mode/println b/snippets/go-mode/println new file mode 100644 index 0000000..7aefc53 --- /dev/null +++ b/snippets/go-mode/println @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: println +# -- +fmt.Println("${1:msg}")$0 diff --git a/snippets/go-mode/prln b/snippets/go-mode/prln new file mode 100644 index 0000000..67b1e1e --- /dev/null +++ b/snippets/go-mode/prln @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: println (short) +# -- +fmt.Println("${1:msg}")$0 diff --git a/snippets/go-mode/select b/snippets/go-mode/select new file mode 100644 index 0000000..6198e78 --- /dev/null +++ b/snippets/go-mode/select @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: select +# -- +select { + case ${1:cond}: + $0 +} diff --git a/snippets/go-mode/struct b/snippets/go-mode/struct new file mode 100644 index 0000000..d0aa7cd --- /dev/null +++ b/snippets/go-mode/struct @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: type ... struct { ... } +# -- +type $1 struct { + `%`$0 +} \ No newline at end of file diff --git a/snippets/go-mode/switch b/snippets/go-mode/switch new file mode 100644 index 0000000..29ef0e8 --- /dev/null +++ b/snippets/go-mode/switch @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: switch +# key: switch +# uuid: switch +# -- +switch { + case ${1:cond}: + $0 +} \ No newline at end of file diff --git a/snippets/go-mode/test b/snippets/go-mode/test new file mode 100644 index 0000000..02c6d82 --- /dev/null +++ b/snippets/go-mode/test @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: func Test...() { ... } +# -- +func Test${1:Name}(${2:t *testing.T}) { + `%`$0 +} \ No newline at end of file diff --git a/snippets/go-mode/var b/snippets/go-mode/var new file mode 100644 index 0000000..51a7245 --- /dev/null +++ b/snippets/go-mode/var @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: var +# -- +var ${1:name} ${2:type} = ${3:value}$0 \ No newline at end of file diff --git a/snippets/go-mode/while b/snippets/go-mode/while new file mode 100644 index 0000000..ee71ddb --- /dev/null +++ b/snippets/go-mode/while @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name : for ... { ... } +# -- +for $1 { + `%`$0 +} \ No newline at end of file diff --git a/snippets/go-mode/wr b/snippets/go-mode/wr new file mode 100644 index 0000000..432fbee --- /dev/null +++ b/snippets/go-mode/wr @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: http request writer +# -- +w http.ResponseWriter, r *http.Request \ No newline at end of file diff --git a/snippets/html-mode/dd b/snippets/html-mode/dd new file mode 100644 index 0000000..30cbeb5 --- /dev/null +++ b/snippets/html-mode/dd @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# contributor: Rodrigo Setti +# name:
...
+# group: list +# -- +
$1
\ No newline at end of file diff --git a/snippets/html-mode/dl b/snippets/html-mode/dl new file mode 100644 index 0000000..1753361 --- /dev/null +++ b/snippets/html-mode/dl @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# contributor: Rodrigo Setti +# name:
...
+# group: list +# -- +
+ $0 +
diff --git a/snippets/html-mode/doctype b/snippets/html-mode/doctype new file mode 100644 index 0000000..7bffad7 --- /dev/null +++ b/snippets/html-mode/doctype @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: Doctype HTML 5 +# group: meta +# -- + diff --git a/snippets/html-mode/doctype.xhml1 b/snippets/html-mode/doctype.xhml1 new file mode 100644 index 0000000..b94dbf4 --- /dev/null +++ b/snippets/html-mode/doctype.xhml1 @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: DocType XHTML 1.0 frameset +# group: meta +# -- + \ No newline at end of file diff --git a/snippets/html-mode/doctype.xhtml1_1 b/snippets/html-mode/doctype.xhtml1_1 new file mode 100644 index 0000000..875547d --- /dev/null +++ b/snippets/html-mode/doctype.xhtml1_1 @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: DocType XHTML 1.1 +# group: meta +# -- + \ No newline at end of file diff --git a/snippets/html-mode/doctype.xhtml1_strict b/snippets/html-mode/doctype.xhtml1_strict new file mode 100644 index 0000000..8ddc158 --- /dev/null +++ b/snippets/html-mode/doctype.xhtml1_strict @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: DocType XHTML 1.0 Strict +# group: meta +# -- + \ No newline at end of file diff --git a/snippets/html-mode/doctype.xhtml1_transitional b/snippets/html-mode/doctype.xhtml1_transitional new file mode 100644 index 0000000..144bc43 --- /dev/null +++ b/snippets/html-mode/doctype.xhtml1_transitional @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: DocType XHTML 1.0 Transitional +# group: meta +# -- + \ No newline at end of file diff --git a/snippets/html-mode/dt b/snippets/html-mode/dt new file mode 100644 index 0000000..7641c8e --- /dev/null +++ b/snippets/html-mode/dt @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# contributor: Rodrigo Setti +# name:
...
+# group: list +# -- +
$1
\ No newline at end of file diff --git a/snippets/html-mode/form b/snippets/html-mode/form new file mode 100644 index 0000000..5511388 --- /dev/null +++ b/snippets/html-mode/form @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# contributor: Jimmy Wu +# name:
+# -- +
+ $0 +
\ No newline at end of file diff --git a/snippets/html-mode/html b/snippets/html-mode/html new file mode 100644 index 0000000..8600a33 --- /dev/null +++ b/snippets/html-mode/html @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# contributor: Jimmy Wu +# name: ... +# -- + + $0 + diff --git a/snippets/html-mode/html.xmlns b/snippets/html-mode/html.xmlns new file mode 100644 index 0000000..a85689b --- /dev/null +++ b/snippets/html-mode/html.xmlns @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# contributor: Jimmy Wu +# name: ... +# -- + + $0 + diff --git a/snippets/html-mode/link b/snippets/html-mode/link new file mode 100644 index 0000000..3f97d00 --- /dev/null +++ b/snippets/html-mode/link @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: +# key: link +# uuid: link +# -- + \ No newline at end of file diff --git a/snippets/html-mode/linkie b/snippets/html-mode/linkie new file mode 100644 index 0000000..6e2c2ee --- /dev/null +++ b/snippets/html-mode/linkie @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: +# -- + diff --git a/snippets/html-mode/mailto b/snippets/html-mode/mailto new file mode 100644 index 0000000..afdd485 --- /dev/null +++ b/snippets/html-mode/mailto @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: ... +# -- +`(doom-snippets-format "%n%s%n")`$0 \ No newline at end of file diff --git a/snippets/html-mode/meta b/snippets/html-mode/meta new file mode 100644 index 0000000..6cad73a --- /dev/null +++ b/snippets/html-mode/meta @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# contributor : Jimmy Wu +# group: meta +# name: +# -- + \ No newline at end of file diff --git a/snippets/html-mode/meta.http-equiv b/snippets/html-mode/meta.http-equiv new file mode 100644 index 0000000..a7a5a50 --- /dev/null +++ b/snippets/html-mode/meta.http-equiv @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# contributor: Jimmy Wu +# name: +# group: meta +# -- + \ No newline at end of file diff --git a/snippets/html-mode/script b/snippets/html-mode/script new file mode 100644 index 0000000..d36430e --- /dev/null +++ b/snippets/html-mode/script @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: +# -- + \ No newline at end of file diff --git a/snippets/html-mode/scriptsrc b/snippets/html-mode/scriptsrc new file mode 100644 index 0000000..db4dbe5 --- /dev/null +++ b/snippets/html-mode/scriptsrc @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: +# -- + \ No newline at end of file diff --git a/snippets/html-mode/textarea b/snippets/html-mode/textarea new file mode 100644 index 0000000..d3f5c7a --- /dev/null +++ b/snippets/html-mode/textarea @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# contributor: Jimmy Wu +# name: +# -- + \ No newline at end of file diff --git a/snippets/html-mode/th b/snippets/html-mode/th new file mode 100644 index 0000000..6d3e21a --- /dev/null +++ b/snippets/html-mode/th @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# contributor: Jimmy Wu +# name: ... +# group: table +# -- +$2 \ No newline at end of file diff --git a/snippets/java-mode/@param b/snippets/java-mode/@param new file mode 100644 index 0000000..9c7ed49 --- /dev/null +++ b/snippets/java-mode/@param @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: param +# key: @param +# uuid: @param +# condition: (sp-point-in-comment) +# -- +@param ${1:paramater} $0 \ No newline at end of file diff --git a/snippets/java-mode/@return b/snippets/java-mode/@return new file mode 100644 index 0000000..f59a873 --- /dev/null +++ b/snippets/java-mode/@return @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: return +# key: @return +# uuid: @return +# condition: (sp-point-in-comment) +# -- +@return ${1:description} \ No newline at end of file diff --git a/snippets/java-mode/apr_assert b/snippets/java-mode/apr_assert new file mode 100644 index 0000000..dca9f95 --- /dev/null +++ b/snippets/java-mode/apr_assert @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: apr_assert +# key: apr_assert +# uuid: apr_assert +# -- +if (Globals.useAssertions) { + ${1:assert ..}; +} diff --git a/snippets/java-mode/class b/snippets/java-mode/class new file mode 100644 index 0000000..4b23f00 --- /dev/null +++ b/snippets/java-mode/class @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: class +# key: class +# uuid: class +# -- +${1:public }class ${2:`(f-base buffer-file-name)`} { + $0 +} \ No newline at end of file diff --git a/snippets/java-mode/constructor b/snippets/java-mode/constructor new file mode 100644 index 0000000..7a379cd --- /dev/null +++ b/snippets/java-mode/constructor @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: constructor +# key: __init__ +# uuid: __init__ +# -- +public ${1:`(f-base buffer-file-name)`}($2) { + $0 +} \ No newline at end of file diff --git a/snippets/java-mode/doc b/snippets/java-mode/doc new file mode 100644 index 0000000..7108ccf --- /dev/null +++ b/snippets/java-mode/doc @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: doc +# key: /* +# uuid: /* +# condition: (not (use-region-p)) +# -- +/** + * $0 + */ \ No newline at end of file diff --git a/snippets/java-mode/equals b/snippets/java-mode/equals new file mode 100644 index 0000000..9b66be5 --- /dev/null +++ b/snippets/java-mode/equals @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: equals +# key: eq +# uuid: eq +# -- +public boolean equals(${1:Class} other) { + $0 +} \ No newline at end of file diff --git a/snippets/java-mode/file_class b/snippets/java-mode/file_class new file mode 100644 index 0000000..a0685b3 --- /dev/null +++ b/snippets/java-mode/file_class @@ -0,0 +1,10 @@ +# -*- mode: snippet -*- +# name: file_class +# key: file +# uuid: file +# -- +public class ${1:`(file-name-base + (or (buffer-file-name) + (buffer-name)))`} { + $0 +} diff --git a/snippets/java-mode/for b/snippets/java-mode/for new file mode 100644 index 0000000..8f304a3 --- /dev/null +++ b/snippets/java-mode/for @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: for +# key: for +# uuid: for +# -- +for (${1:int i = 0}; ${2:i < N}; ${3:i++}) { + `%`$0 +} \ No newline at end of file diff --git a/snippets/java-mode/foreach b/snippets/java-mode/foreach new file mode 100644 index 0000000..236a446 --- /dev/null +++ b/snippets/java-mode/foreach @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: foreach +# key: fore +# uuid: fore +# -- +for (${1:Object} ${2:var} : ${3:iterator}) { + $0 +} diff --git a/snippets/java-mode/if b/snippets/java-mode/if new file mode 100644 index 0000000..bddbdd5 --- /dev/null +++ b/snippets/java-mode/if @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: if +# key: if +# uuid: if +# condition: (not (sp-point-in-string-or-comment)) +# -- +if (${1:true}) { + $0 +} \ No newline at end of file diff --git a/snippets/java-mode/ife b/snippets/java-mode/ife new file mode 100644 index 0000000..2aa4c60 --- /dev/null +++ b/snippets/java-mode/ife @@ -0,0 +1,10 @@ +# -*- mode: snippet -*- +# name: ife +# key: ife +# uuid: ife +# -- +if (${1:true}) { + `%`$2 +} else { + $0 +} \ No newline at end of file diff --git a/snippets/java-mode/import b/snippets/java-mode/import new file mode 100644 index 0000000..f863d97 --- /dev/null +++ b/snippets/java-mode/import @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: import +# -- +import ${1:System.}; +$0 \ No newline at end of file diff --git a/snippets/java-mode/interface b/snippets/java-mode/interface new file mode 100644 index 0000000..b5cac51 --- /dev/null +++ b/snippets/java-mode/interface @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: interface +# key: interface +# uuid: interface +# -- +interface ${1:`(f-base buffer-file-name)`} { + $0 +} \ No newline at end of file diff --git a/snippets/java-mode/iterator b/snippets/java-mode/iterator new file mode 100644 index 0000000..523310c --- /dev/null +++ b/snippets/java-mode/iterator @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: iterator +# key: iterator +# uuid: iterator +# -- +public Iterator<${1:type}> iterator() { + $0 +} diff --git a/snippets/java-mode/javadoc b/snippets/java-mode/javadoc new file mode 100644 index 0000000..af9c339 --- /dev/null +++ b/snippets/java-mode/javadoc @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: javadoc +# key: doc +# uuid: doc +# -- +/** + * $0 + * + */ \ No newline at end of file diff --git a/snippets/java-mode/main b/snippets/java-mode/main new file mode 100644 index 0000000..7b51d33 --- /dev/null +++ b/snippets/java-mode/main @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: main +# key: main +# uuid: main +# -- +public static void main(String[] args) { + $0 +} \ No newline at end of file diff --git a/snippets/java-mode/method b/snippets/java-mode/method new file mode 100644 index 0000000..d7159d4 --- /dev/null +++ b/snippets/java-mode/method @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: method +# key: method +# uuid: method +# condition: (not (sp-point-in-string-or-comment)) +# -- +${1:void} ${2:name}($3) { + $0 +} \ No newline at end of file diff --git a/snippets/java-mode/method@ b/snippets/java-mode/method@ new file mode 100644 index 0000000..697dbcb --- /dev/null +++ b/snippets/java-mode/method@ @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: @Override method +# key: method@ +# uuid: method@ +# condition: (not (sp-point-in-string-or-comment)) +# -- +@Override ${1:public} ${2:void} ${3:methodName}($4) { + $0 +} \ No newline at end of file diff --git a/snippets/java-mode/new b/snippets/java-mode/new new file mode 100644 index 0000000..6c811c7 --- /dev/null +++ b/snippets/java-mode/new @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: new +# key: new +# uuid: new +# -- +${1:Type} ${2:obj} = new ${3:$1}($4);$0 \ No newline at end of file diff --git a/snippets/java-mode/paintComponent b/snippets/java-mode/paintComponent new file mode 100644 index 0000000..ef1b36d --- /dev/null +++ b/snippets/java-mode/paintComponent @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: paintComponent (Swing) +# key: paintComponent +# uuid: paintComponent +# condition: (not (sp-point-in-string-or-comment)) +# -- +@Override public void paintComponent(Graphics g) { + `%`$0 +} \ No newline at end of file diff --git a/snippets/java-mode/printf b/snippets/java-mode/printf new file mode 100644 index 0000000..9d49a47 --- /dev/null +++ b/snippets/java-mode/printf @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: printf +# key: printf +# uuid: printf +# -- +System.out.printf("`%`$0%n"); \ No newline at end of file diff --git a/snippets/java-mode/println b/snippets/java-mode/println new file mode 100644 index 0000000..5749c6a --- /dev/null +++ b/snippets/java-mode/println @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: println +# key: println +# uuid: println +# -- +System.out.println("`%`$0"); \ No newline at end of file diff --git a/snippets/java-mode/private b/snippets/java-mode/private new file mode 100644 index 0000000..32e58fe --- /dev/null +++ b/snippets/java-mode/private @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: private +# key: pri +# uuid: pri +# -- +private $0 \ No newline at end of file diff --git a/snippets/java-mode/protected b/snippets/java-mode/protected new file mode 100644 index 0000000..cdc4c24 --- /dev/null +++ b/snippets/java-mode/protected @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: protected +# key: pr +# uuid: pr +# -- +protected $0 \ No newline at end of file diff --git a/snippets/java-mode/public b/snippets/java-mode/public new file mode 100644 index 0000000..378b360 --- /dev/null +++ b/snippets/java-mode/public @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: public +# key: p +# uuid: p +# -- +public $0 \ No newline at end of file diff --git a/snippets/java-mode/return b/snippets/java-mode/return new file mode 100644 index 0000000..b7e80e8 --- /dev/null +++ b/snippets/java-mode/return @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: return +# key: ret +# uuid: ret +# condition: (not (sp-point-in-string-or-comment)) +# -- +return `%`$0; \ No newline at end of file diff --git a/snippets/java-mode/test b/snippets/java-mode/test new file mode 100644 index 0000000..2aa4d2d --- /dev/null +++ b/snippets/java-mode/test @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: test +# key: test +# uuid: test +# -- +@Test +public void test_${1:Case}() { + $0 +} \ No newline at end of file diff --git a/snippets/java-mode/testClass b/snippets/java-mode/testClass new file mode 100644 index 0000000..6bdeb91 --- /dev/null +++ b/snippets/java-mode/testClass @@ -0,0 +1,13 @@ +# -*- mode: snippet -*- +# name: testClass +# key: tc +# uuid: tc +# -- +import junit.framework.*; +import junit.textui.*; + +public class Test${1:Class} extends TestCase { + protected void setUp() { + $0 + } +} \ No newline at end of file diff --git a/snippets/java-mode/this b/snippets/java-mode/this new file mode 100644 index 0000000..2f67688 --- /dev/null +++ b/snippets/java-mode/this @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: this +# key: . +# uuid: . +# -- +this.$0 \ No newline at end of file diff --git a/snippets/java-mode/toString b/snippets/java-mode/toString new file mode 100644 index 0000000..2e60c9d --- /dev/null +++ b/snippets/java-mode/toString @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: toString +# key: toStr +# uuid: toStr +# -- +public String toString() { + $0 +} \ No newline at end of file diff --git a/snippets/java-mode/try b/snippets/java-mode/try new file mode 100644 index 0000000..b659b66 --- /dev/null +++ b/snippets/java-mode/try @@ -0,0 +1,12 @@ +# -*- mode: snippet -*- +# name: try +# key: try +# uuid: try +# condition: (not (sp-point-in-string-or-comment)) +# -- +try { + `%`$0 +} catch (${1:Throwable} e) { + ${2:System.out.println("Error " + e.getMessage()); + e.printStackTrace();} +} \ No newline at end of file diff --git a/snippets/java-mode/var b/snippets/java-mode/var new file mode 100644 index 0000000..7d9a3c6 --- /dev/null +++ b/snippets/java-mode/var @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: variable declaration +# key: var +# uuid: var +# condition: (not (sp-point-in-string-or-comment)) +# -- +${1:int} ${2:variable} \ No newline at end of file diff --git a/snippets/java-mode/var= b/snippets/java-mode/var= new file mode 100644 index 0000000..1583c12 --- /dev/null +++ b/snippets/java-mode/var= @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: variable declaration & assignment +# key: var= +# uuid: var= +# condition: (not (sp-point-in-string-or-comment)) +# -- +${1:int} ${2:variable} = `%`$0; \ No newline at end of file diff --git a/snippets/java-mode/void b/snippets/java-mode/void new file mode 100644 index 0000000..71d7e81 --- /dev/null +++ b/snippets/java-mode/void @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: void +# key: v +# uuid: v +# -- +void $0 \ No newline at end of file diff --git a/snippets/java-mode/while b/snippets/java-mode/while new file mode 100644 index 0000000..42dbb9b --- /dev/null +++ b/snippets/java-mode/while @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: while loop +# key: while +# uuid: while +# condition: (not (sp-point-in-string-or-comment)) +# -- +while (${1:true}) { + $0 +} \ No newline at end of file diff --git a/snippets/js-mode/Math b/snippets/js-mode/Math new file mode 100644 index 0000000..e9d54e4 --- /dev/null +++ b/snippets/js-mode/Math @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: Math. +# key: M +# uuid: M +# -- +Math.$0 \ No newline at end of file diff --git a/snippets/js-mode/addEventListener b/snippets/js-mode/addEventListener new file mode 100644 index 0000000..54e3d64 --- /dev/null +++ b/snippets/js-mode/addEventListener @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: addEventListener +# key: ael +# uuid: ael +# -- +`(unless (eq (char-before) ?.) ".")`addEventListener('${1:DOMContentLoaded}', () => { + `%`$0 +})`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/alert b/snippets/js-mode/alert new file mode 100644 index 0000000..5f7bcf6 --- /dev/null +++ b/snippets/js-mode/alert @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: alert +# key: al +# uuid: al +# -- +alert(${0:`%`}); \ No newline at end of file diff --git a/snippets/js-mode/arrow b/snippets/js-mode/arrow new file mode 100644 index 0000000..57532e6 --- /dev/null +++ b/snippets/js-mode/arrow @@ -0,0 +1,6 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: arrow function +# key: => +# uuid: => +# -- +$1 => `(if (> (doom-snippets-count-lines %) 1) (concat "{ " (doom-snippets-format "%n%s%n") " }") %)`$0 \ No newline at end of file diff --git a/snippets/js-mode/cl b/snippets/js-mode/cl new file mode 100644 index 0000000..2886e0d --- /dev/null +++ b/snippets/js-mode/cl @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: class +# uuid: cl +# type: command +# -- +(doom-snippets-expand :uuid "class") \ No newline at end of file diff --git a/snippets/js-mode/class b/snippets/js-mode/class new file mode 100644 index 0000000..ebb45b9 --- /dev/null +++ b/snippets/js-mode/class @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: class +# -- +class ${1:Name} { + $0 +} \ No newline at end of file diff --git a/snippets/js-mode/const b/snippets/js-mode/const new file mode 100644 index 0000000..a323bc9 --- /dev/null +++ b/snippets/js-mode/const @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: const ... = ...; +# key: con +# uuid: con +# -- +const ${1:name} = ${0:`%`}; \ No newline at end of file diff --git a/snippets/js-mode/constructor b/snippets/js-mode/constructor new file mode 100644 index 0000000..7526a0e --- /dev/null +++ b/snippets/js-mode/constructor @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: constructor() { ... } +# -- +constructor($1) { + `%`$0 +} \ No newline at end of file diff --git a/snippets/js-mode/decodeURI b/snippets/js-mode/decodeURI new file mode 100644 index 0000000..c187778 --- /dev/null +++ b/snippets/js-mode/decodeURI @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: decodeURI +# key: du +# uuid: du +# -- +decodeURI(${1:`%`})`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/decodeURIComponent b/snippets/js-mode/decodeURIComponent new file mode 100644 index 0000000..b4cd915 --- /dev/null +++ b/snippets/js-mode/decodeURIComponent @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: decodeURIComponent +# key: duc +# uuid: duc +# -- +decodeURIComponent(${1:`%`})`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/document b/snippets/js-mode/document new file mode 100644 index 0000000..dadf032 --- /dev/null +++ b/snippets/js-mode/document @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: document +# key: doc +# uuid: doc +# -- +document. \ No newline at end of file diff --git a/snippets/js-mode/else b/snippets/js-mode/else new file mode 100644 index 0000000..d39dac5 --- /dev/null +++ b/snippets/js-mode/else @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: else +# -- +else { + `%`$0 +} \ No newline at end of file diff --git a/snippets/js-mode/encodeURI b/snippets/js-mode/encodeURI new file mode 100644 index 0000000..8f81408 --- /dev/null +++ b/snippets/js-mode/encodeURI @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: encodeURI +# key: eu +# uuid: eu +# -- +encodeURI(${1:`%`})`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/encodeURIComponent b/snippets/js-mode/encodeURIComponent new file mode 100644 index 0000000..c04008d --- /dev/null +++ b/snippets/js-mode/encodeURIComponent @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: encodeURIComponent +# key: euc +# uuid: euc +# -- +encodeURIComponent(${1:`%`})`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/exports b/snippets/js-mode/exports new file mode 100644 index 0000000..2816e1c --- /dev/null +++ b/snippets/js-mode/exports @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: module.exports = ... +# uuid: exports +# key: exp +# -- +module.exports = `%`$0`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/filter b/snippets/js-mode/filter new file mode 100644 index 0000000..414f9c4 --- /dev/null +++ b/snippets/js-mode/filter @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: arr.filter(...) +# key: fil +# uuid: fil +# -- +`(unless (eq (char-before) ?.) ".")`filter($0)`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/filter-arrow b/snippets/js-mode/filter-arrow new file mode 100644 index 0000000..e7e6de3 --- /dev/null +++ b/snippets/js-mode/filter-arrow @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: arr.filter(item => {...}) +# key: fil=> +# uuid: fil=> +# -- +`(unless (eq (char-before) ?.) ".")`filter(${1:item} => `(if (> (doom-snippets-count-lines %) 1) (concat "{ " (doom-snippets-format "%n%s%n") " }") %)`$0)`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/filter-function b/snippets/js-mode/filter-function new file mode 100644 index 0000000..bf86a6b --- /dev/null +++ b/snippets/js-mode/filter-function @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: arr.filter(function(item) {...}) +# key: filfu +# uuid: filfu +# -- +`(unless (eq (char-before) ?.) ".")`filter(function(${1:item}) { + `(doom-snippets-format "%n%s%n")`$0 +})`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/fireEvent b/snippets/js-mode/fireEvent new file mode 100644 index 0000000..806fc20 --- /dev/null +++ b/snippets/js-mode/fireEvent @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: fireEvent +# -- +fireEvent('$0') \ No newline at end of file diff --git a/snippets/js-mode/for b/snippets/js-mode/for new file mode 100644 index 0000000..f044761 --- /dev/null +++ b/snippets/js-mode/for @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: for (;;) +# key: for +# uuid: for +# -- +for ($1;$2;$3) { + `%`$0 +} \ No newline at end of file diff --git a/snippets/js-mode/forEach b/snippets/js-mode/forEach new file mode 100644 index 0000000..a4167b3 --- /dev/null +++ b/snippets/js-mode/forEach @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: arr.forEach(...) +# key: fore +# uuid: fore +# -- +`(unless (eq (char-before) ?.) ".")`forEach(`%`$0)`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/forEach-arrow b/snippets/js-mode/forEach-arrow new file mode 100644 index 0000000..5fd1752 --- /dev/null +++ b/snippets/js-mode/forEach-arrow @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: arr.forEach((item) => {...}) +# key: fore=> +# uuid: fore=> +# -- +`(unless (eq (char-before) ?.) ".")`forEach(${1:item} => `(if (> (doom-snippets-count-lines %) 1) (concat "{ " (doom-snippets-format "%n%s%n") " }") %)`$0)`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/forEach-function b/snippets/js-mode/forEach-function new file mode 100644 index 0000000..f9e1838 --- /dev/null +++ b/snippets/js-mode/forEach-function @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: arr.forEach(function(item) {...}) +# key: forefu +# uuid: forefu +# -- +`(unless (eq (char-before) ?.) ".")`forEach(function(${1:item}) { + `(doom-snippets-format "%n%s%n")`$0 +})`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/fori b/snippets/js-mode/fori new file mode 100644 index 0000000..a5b0e78 --- /dev/null +++ b/snippets/js-mode/fori @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: for (var i = 0; i < arr.length; ++i) { ... } +# key: fori +# uuid: fori +# -- +for (var ${1:i} = ${2:0}; $1 < ${3:${4:arr}.length}; ++$1) { + `%`$0 +} \ No newline at end of file diff --git a/snippets/js-mode/forin b/snippets/js-mode/forin new file mode 100644 index 0000000..b0b6141 --- /dev/null +++ b/snippets/js-mode/forin @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: for (key in list) { ... } +# key: forin +# uuid: forin +# -- +for (${1:key} in ${2:list}) { + `%`$0 +} \ No newline at end of file diff --git a/snippets/js-mode/fu b/snippets/js-mode/fu new file mode 100644 index 0000000..57324d7 --- /dev/null +++ b/snippets/js-mode/fu @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: anonymous/named function +# key: fu +# type: command +# -- +(doom-snippets-expand :uuid (if (doom-snippets-bolp) "function_block" "function_inline")) \ No newline at end of file diff --git a/snippets/js-mode/function b/snippets/js-mode/function new file mode 100644 index 0000000..e804e29 --- /dev/null +++ b/snippets/js-mode/function @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: named function +# key: function +# uuid: function_block +# condition: (or (doom-snippets-bolp) (region-active-p)) +# -- +function ${1:name}($2) { + `(doom-snippets-format "%n%s%n")`$0 +} \ No newline at end of file diff --git a/snippets/js-mode/function_inline b/snippets/js-mode/function_inline new file mode 100644 index 0000000..a142695 --- /dev/null +++ b/snippets/js-mode/function_inline @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: anonymous function +# key: function +# uuid: function_inline +# condition: (or (not (doom-snippets-bolp)) (region-active-p)) +# -- +function ($1) { `(doom-snippets-format "%n%s%n")`$0 }`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/getElementById b/snippets/js-mode/getElementById new file mode 100644 index 0000000..caf9a63 --- /dev/null +++ b/snippets/js-mode/getElementById @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: getElementById +# key: gebi +# uuid: gebi +# -- +`(unless (eq (char-before) ?.) ".")`getElementById(${1:id})`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/if b/snippets/js-mode/if new file mode 100644 index 0000000..82dd612 --- /dev/null +++ b/snippets/js-mode/if @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: if +# -- +if (${1:true}) { + `%`$0 +} \ No newline at end of file diff --git a/snippets/js-mode/imp b/snippets/js-mode/imp new file mode 100644 index 0000000..19eb526 --- /dev/null +++ b/snippets/js-mode/imp @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: import ... from ...; +# uuid: imp +# type: command +# -- +(doom-snippets-expand :uuid "import") \ No newline at end of file diff --git a/snippets/js-mode/import b/snippets/js-mode/import new file mode 100644 index 0000000..055df76 --- /dev/null +++ b/snippets/js-mode/import @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: import ... from ...; +# uuid: import +# -- +import ${1:Object} from '${2:./$3}'; \ No newline at end of file diff --git a/snippets/js-mode/indexOf b/snippets/js-mode/indexOf new file mode 100644 index 0000000..a50f364 --- /dev/null +++ b/snippets/js-mode/indexOf @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: arr.indexOf(elt, fromIndex) +# key: iof +# uuid: iof +# -- +`(unless (eq (char-before) ?.) ".")`indexOf(${1:`(or (doom-snippets-text nil t) "elt")`}${2: ${3:fromIndex}})`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/jsdoc b/snippets/js-mode/jsdoc new file mode 100644 index 0000000..bddb7eb --- /dev/null +++ b/snippets/js-mode/jsdoc @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: /** ... */ +# key: /** +# uuid: /** +# -- +/** + * ${0:`(if % (s-replace "\n" "\n * " %))`} + */ \ No newline at end of file diff --git a/snippets/js-mode/let b/snippets/js-mode/let new file mode 100644 index 0000000..a68ce7f --- /dev/null +++ b/snippets/js-mode/let @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: let ... = ...; +# -- +let ${1:name} = ${0:`%`}; \ No newline at end of file diff --git a/snippets/js-mode/log b/snippets/js-mode/log new file mode 100644 index 0000000..8fa62fa --- /dev/null +++ b/snippets/js-mode/log @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: console.log("..."); +# -- +console.log(`(doom-snippets-text nil t)`$0)`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/map b/snippets/js-mode/map new file mode 100644 index 0000000..ff6cd45 --- /dev/null +++ b/snippets/js-mode/map @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: arr.map(...) +# key: map +# uuid: map +# -- +`(unless (eq (char-before) ?.) ".")`map($0)`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/map-arrow b/snippets/js-mode/map-arrow new file mode 100644 index 0000000..92f1f72 --- /dev/null +++ b/snippets/js-mode/map-arrow @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: arr.map((item, i, arr) => {...}) +# key: map=> +# uuid: map=> +# -- +`(unless (eq (char-before) ?.) ".")`map((${1:item}, ${2:i}, ${3:arr}) => `(if (> (doom-snippets-count-lines %) 1) (concat "{ " (doom-snippets-format "%n%s%n") " }") %)`$0)`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/map-function b/snippets/js-mode/map-function new file mode 100644 index 0000000..991b64d --- /dev/null +++ b/snippets/js-mode/map-function @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: arr.map(function(item, i, arr) {...}) +# key: mapfu +# uuid: mapfu +# -- +`(unless (eq (char-before) ?.) ".")`map(function(${1:item}, ${2:i}, ${3:arr}) { + `(doom-snippets-format "%n%s%n")`$0 +})`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/method b/snippets/js-mode/method new file mode 100644 index 0000000..f08ed46 --- /dev/null +++ b/snippets/js-mode/method @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: method() { ... } +# key: m +# uuid: m +# -- +${1:method}($2) { + `%`$0 +} \ No newline at end of file diff --git a/snippets/js-mode/property b/snippets/js-mode/property new file mode 100644 index 0000000..d1f8f6f --- /dev/null +++ b/snippets/js-mode/property @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: ...: ... +# key: : +# uuid: : +# -- +${1:key}: ${0:value} \ No newline at end of file diff --git a/snippets/js-mode/push b/snippets/js-mode/push new file mode 100644 index 0000000..e30ab16 --- /dev/null +++ b/snippets/js-mode/push @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: arr.push(elt) +# key: pu +# uuid: pu +# -- +`(unless (eq (char-before) ?.) ".")`push(`(doom-snippets-text nil t)`$0)`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/req b/snippets/js-mode/req new file mode 100644 index 0000000..1054803 --- /dev/null +++ b/snippets/js-mode/req @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: require("...") +# uuid: req +# type: command +# -- +(doom-snippets-expand :uuid "require") \ No newline at end of file diff --git a/snippets/js-mode/require b/snippets/js-mode/require new file mode 100644 index 0000000..0b0f7ee --- /dev/null +++ b/snippets/js-mode/require @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: require("...") +# uuid: require +# -- +require(`%`$0)`(if (eolp) ";")` \ No newline at end of file diff --git a/snippets/js-mode/return b/snippets/js-mode/return new file mode 100644 index 0000000..07e1701 --- /dev/null +++ b/snippets/js-mode/return @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: return ... +# key: r +# uuid: r +# -- +return $0; \ No newline at end of file diff --git a/snippets/js-mode/try b/snippets/js-mode/try new file mode 100644 index 0000000..6021320 --- /dev/null +++ b/snippets/js-mode/try @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: try-catch block +# -- +try { + `%`$0 +} catch (${1:err}) { + ${2:// Do something} +} \ No newline at end of file diff --git a/snippets/js-mode/var b/snippets/js-mode/var new file mode 100644 index 0000000..25e3fad --- /dev/null +++ b/snippets/js-mode/var @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: var ... = ...; +# key: var +# uuid: var +# -- +var ${1:name} = ${0:`%`}; \ No newline at end of file diff --git a/snippets/js-mode/while b/snippets/js-mode/while new file mode 100644 index 0000000..f4c1219 --- /dev/null +++ b/snippets/js-mode/while @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: while +# -- +while (${1:true}) { ${0:`(doom-snippets-format "%n%s%n")`} } \ No newline at end of file diff --git a/snippets/json-mode/eslintConfig b/snippets/json-mode/eslintConfig new file mode 100644 index 0000000..8c9d2c4 --- /dev/null +++ b/snippets/json-mode/eslintConfig @@ -0,0 +1,19 @@ +# -*- mode: snippet -*- +# name: eslintConfig +# key: eslint +# uuid: eslint +# condition: (equal (file-name-nondirectory buffer-file-name) "package.json") +# -- +"eslintConfig": { + "env": { + "es6": true, + "browser": true, + "commonjs": true, + "node": true + }, + "parserOptions": { + "ecmaFeatures": { + "jsx": true + } + } +} \ No newline at end of file diff --git a/snippets/kotlin-mode/class b/snippets/kotlin-mode/class new file mode 100644 index 0000000..fb05d03 --- /dev/null +++ b/snippets/kotlin-mode/class @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: class +# key: class +# -- +class ${1:name}${2:($3)}${4: : $5}${6: { + $0 +}} diff --git a/snippets/kotlin-mode/file_class b/snippets/kotlin-mode/file_class new file mode 100644 index 0000000..86a0f59 --- /dev/null +++ b/snippets/kotlin-mode/file_class @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: file_class +# key: file_class +# -- +class `(f-base buffer-file-name)`${1:($2)}${3: { + $0 +}} diff --git a/snippets/kotlin-mode/forin b/snippets/kotlin-mode/forin new file mode 100644 index 0000000..7d682a5 --- /dev/null +++ b/snippets/kotlin-mode/forin @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: for (key in iterable) { ... } +# key: forin +# -- +for (${1:key} in ${2:iterable}) { + `%`$0 +} diff --git a/snippets/kotlin-mode/fun b/snippets/kotlin-mode/fun new file mode 100644 index 0000000..e86af00 --- /dev/null +++ b/snippets/kotlin-mode/fun @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: fun +# key: fun +# -- +fun ${1:name}($2)${3:: ${4:Unit}} { + ${0:TODO('Not yet implemented')} +} diff --git a/snippets/kotlin-mode/if b/snippets/kotlin-mode/if new file mode 100644 index 0000000..5b20653 --- /dev/null +++ b/snippets/kotlin-mode/if @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: if +# key: if +# -- +if (${1:true}) { + $0 +} diff --git a/snippets/kotlin-mode/ife b/snippets/kotlin-mode/ife new file mode 100644 index 0000000..9421802 --- /dev/null +++ b/snippets/kotlin-mode/ife @@ -0,0 +1,10 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: ife +# key: ife +# -- +if (${1:true}) { + `%`$2 +} else { + $0 +} diff --git a/snippets/kotlin-mode/interface b/snippets/kotlin-mode/interface new file mode 100644 index 0000000..6fc8af2 --- /dev/null +++ b/snippets/kotlin-mode/interface @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: interface +# key: interface +# -- +interface ${1:name} { + $0 +} diff --git a/snippets/kotlin-mode/main b/snippets/kotlin-mode/main new file mode 100644 index 0000000..b3bd052 --- /dev/null +++ b/snippets/kotlin-mode/main @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: main +# key: main +# -- +fun main(args: Array) { + $0 +} diff --git a/snippets/kotlin-mode/todo b/snippets/kotlin-mode/todo new file mode 100644 index 0000000..125539c --- /dev/null +++ b/snippets/kotlin-mode/todo @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: todo +# key: todo +# -- +TODO('Not yet implemented') diff --git a/snippets/kotlin-mode/val b/snippets/kotlin-mode/val new file mode 100644 index 0000000..96f2729 --- /dev/null +++ b/snippets/kotlin-mode/val @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: val +# key: val +# -- +val ${1:name}: ${2:Int} \ No newline at end of file diff --git a/snippets/kotlin-mode/val= b/snippets/kotlin-mode/val= new file mode 100644 index 0000000..09c92d3 --- /dev/null +++ b/snippets/kotlin-mode/val= @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: val= +# key: val= +# -- +val ${1:name}${2:: ${3:Int}} = `%`$0 \ No newline at end of file diff --git a/snippets/kotlin-mode/var b/snippets/kotlin-mode/var new file mode 100644 index 0000000..6b9159d --- /dev/null +++ b/snippets/kotlin-mode/var @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: var +# key: var +# -- +var ${1:variable}: ${2:Int} diff --git a/snippets/kotlin-mode/var= b/snippets/kotlin-mode/var= new file mode 100644 index 0000000..2b69358 --- /dev/null +++ b/snippets/kotlin-mode/var= @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: var= +# key: var= +# -- +var ${1:variable}${2:: ${3:Int}} = `%`$0 diff --git a/snippets/kotlin-mode/while b/snippets/kotlin-mode/while new file mode 100644 index 0000000..88d0117 --- /dev/null +++ b/snippets/kotlin-mode/while @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# contributor: Seong Yong-ju +# name: while +# key: while +# -- +while ($true) { + $0 +} diff --git a/snippets/markdown-mode/code b/snippets/markdown-mode/code new file mode 100644 index 0000000..d08dad8 --- /dev/null +++ b/snippets/markdown-mode/code @@ -0,0 +1,6 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: Code block +# -- +\`\`\`${1:lang} +`%`$0 +\`\`\` \ No newline at end of file diff --git a/snippets/markdown-mode/h1 b/snippets/markdown-mode/h1 new file mode 100644 index 0000000..f5c5194 --- /dev/null +++ b/snippets/markdown-mode/h1 @@ -0,0 +1,6 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: Header 1 (#) +# key: h1 +# uuid: h1 +# -- +# ${1:Header 1}`(unless markdown-asymmetric-header " #")` \ No newline at end of file diff --git a/snippets/markdown-mode/h2 b/snippets/markdown-mode/h2 new file mode 100644 index 0000000..f1edaf5 --- /dev/null +++ b/snippets/markdown-mode/h2 @@ -0,0 +1,6 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: Header 2 (##) +# key: h2 +# uuid: h2 +# -- +## ${1:Header 2}`(unless markdown-asymmetric-header " ##")` \ No newline at end of file diff --git a/snippets/markdown-mode/h3 b/snippets/markdown-mode/h3 new file mode 100644 index 0000000..0b36721 --- /dev/null +++ b/snippets/markdown-mode/h3 @@ -0,0 +1,6 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: Header 3 +# key: h3 +# uuid: h3 +# -- +### ${1:Header 3}`(unless markdown-asymmetric-header " ###")` \ No newline at end of file diff --git a/snippets/markdown-mode/h4 b/snippets/markdown-mode/h4 new file mode 100644 index 0000000..df69bfd --- /dev/null +++ b/snippets/markdown-mode/h4 @@ -0,0 +1,6 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: Header 4 +# key: h4 +# uuid: h4 +# -- +#### ${1:Header 4}`(unless markdown-asymmetric-header " ####")` \ No newline at end of file diff --git a/snippets/markdown-mode/h5 b/snippets/markdown-mode/h5 new file mode 100644 index 0000000..8d5408d --- /dev/null +++ b/snippets/markdown-mode/h5 @@ -0,0 +1,6 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: Header 5 +# key: h5 +# uuid: h5 +# -- +##### ${1:Header 5}`(unless markdown-asymmetric-header " #####")` \ No newline at end of file diff --git a/snippets/markdown-mode/h6 b/snippets/markdown-mode/h6 new file mode 100644 index 0000000..59ba638 --- /dev/null +++ b/snippets/markdown-mode/h6 @@ -0,0 +1,6 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: Header 6 +# key: h6 +# uuid: h6 +# -- +###### ${1:Header 6}`(unless markdown-asymmetric-header " ######")` \ No newline at end of file diff --git a/snippets/markdown-mode/hr b/snippets/markdown-mode/hr new file mode 100644 index 0000000..a1a48f6 --- /dev/null +++ b/snippets/markdown-mode/hr @@ -0,0 +1,7 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: hr +# key: --- +# uuid: --- +# binding: direct-keybinding +# -- +------------------------------------------------------------------------------- \ No newline at end of file diff --git a/snippets/markdown-mode/img b/snippets/markdown-mode/img new file mode 100644 index 0000000..5121481 --- /dev/null +++ b/snippets/markdown-mode/img @@ -0,0 +1,4 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: Image +# -- +![${1:Alt Text}](${2:`%`URL})$0 \ No newline at end of file diff --git a/snippets/markdown-mode/kbd b/snippets/markdown-mode/kbd new file mode 100644 index 0000000..4817324 --- /dev/null +++ b/snippets/markdown-mode/kbd @@ -0,0 +1,4 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: ... +# -- +$0 \ No newline at end of file diff --git a/snippets/markdown-mode/link b/snippets/markdown-mode/link new file mode 100644 index 0000000..2c12223 --- /dev/null +++ b/snippets/markdown-mode/link @@ -0,0 +1,4 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: Link +# -- +[${1:`(or % "text")`}](${2:http://$3})$0 \ No newline at end of file diff --git a/snippets/markdown-mode/ol b/snippets/markdown-mode/ol new file mode 100644 index 0000000..cf8e31a --- /dev/null +++ b/snippets/markdown-mode/ol @@ -0,0 +1,5 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: Ordered List +# -- +${1:1}. ${2:Text} +${1:$(number-to-string (1+ (string-to-number %)))}. $0 \ No newline at end of file diff --git a/snippets/markdown-mode/rimg b/snippets/markdown-mode/rimg new file mode 100644 index 0000000..e14964d --- /dev/null +++ b/snippets/markdown-mode/rimg @@ -0,0 +1,4 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: Referenced Image +# -- +![${1:Alt Text}][$2]$0 \ No newline at end of file diff --git a/snippets/markdown-mode/rlb b/snippets/markdown-mode/rlb new file mode 100644 index 0000000..44b5f5e --- /dev/null +++ b/snippets/markdown-mode/rlb @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: Reference Label +# contributor: Peng Deng +# -- +[${1:Reference}]: ${2:URL} $3 +$0 diff --git a/snippets/markdown-mode/rlink b/snippets/markdown-mode/rlink new file mode 100644 index 0000000..a79758d --- /dev/null +++ b/snippets/markdown-mode/rlink @@ -0,0 +1,4 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: Reference Link +# -- +[${1:`%`Link Text}][$2]$0 \ No newline at end of file diff --git a/snippets/markdown-mode/utf8 b/snippets/markdown-mode/utf8 new file mode 100644 index 0000000..f21e9a6 --- /dev/null +++ b/snippets/markdown-mode/utf8 @@ -0,0 +1,5 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: utf-8 encoding +# -- + +$0 \ No newline at end of file diff --git a/snippets/org-mode/begin_center b/snippets/org-mode/begin_center new file mode 100644 index 0000000..f370989 --- /dev/null +++ b/snippets/org-mode/begin_center @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: #+begin_center block +# key: ... +# key: -> +# uuid: -> +# -- +\$${1:obj_name}->${2:var} \ No newline at end of file diff --git a/snippets/php-mode/parent b/snippets/php-mode/parent new file mode 100644 index 0000000..bfbc4ed --- /dev/null +++ b/snippets/php-mode/parent @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: parent::... +# key: par +# uuid: par +# -- +parent::$0 \ No newline at end of file diff --git a/snippets/php-mode/php b/snippets/php-mode/php new file mode 100644 index 0000000..f5f8352 --- /dev/null +++ b/snippets/php-mode/php @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: +# key: php +# uuid: php +# -- + \ No newline at end of file diff --git a/snippets/php-mode/phpdoc b/snippets/php-mode/phpdoc new file mode 100644 index 0000000..bddb7eb --- /dev/null +++ b/snippets/php-mode/phpdoc @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: /** ... */ +# key: /** +# uuid: /** +# -- +/** + * ${0:`(if % (s-replace "\n" "\n * " %))`} + */ \ No newline at end of file diff --git a/snippets/php-mode/require b/snippets/php-mode/require new file mode 100644 index 0000000..85ae6d9 --- /dev/null +++ b/snippets/php-mode/require @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: require("..."); +# key: req +# uuid: req +# -- +require("${1:...}"); \ No newline at end of file diff --git a/snippets/php-mode/require_once b/snippets/php-mode/require_once new file mode 100644 index 0000000..913de65 --- /dev/null +++ b/snippets/php-mode/require_once @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: require_once("..."); +# key: reqo +# uuid: reqo +# -- +require_once("${1:...}"); \ No newline at end of file diff --git a/snippets/php-mode/self b/snippets/php-mode/self new file mode 100644 index 0000000..5ce60ab --- /dev/null +++ b/snippets/php-mode/self @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: self::... +# key: sel +# uuid: sel +# -- +self::$0 \ No newline at end of file diff --git a/snippets/php-mode/shebang b/snippets/php-mode/shebang new file mode 100644 index 0000000..a278904 --- /dev/null +++ b/snippets/php-mode/shebang @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: #!/usr/bin/env php +# key: #! +# uuid: #! +# -- +#!/usr/bin/env php + +# key: p= +# uuid: p= +# -- + \ No newline at end of file diff --git a/snippets/php-mode/switch b/snippets/php-mode/switch new file mode 100644 index 0000000..31d465c --- /dev/null +++ b/snippets/php-mode/switch @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: switch (...) {...} +# -- +switch (${on}) { + $0 +} \ No newline at end of file diff --git a/snippets/php-mode/this b/snippets/php-mode/this new file mode 100644 index 0000000..8e547c3 --- /dev/null +++ b/snippets/php-mode/this @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: $this->... +# key: thi +# uuid: thi +# -- +\$this->$0 \ No newline at end of file diff --git a/snippets/php-mode/urldecode b/snippets/php-mode/urldecode new file mode 100644 index 0000000..b83189d --- /dev/null +++ b/snippets/php-mode/urldecode @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: urldecode(...) +# key: urld +# uuid: urld +# -- +urldecode(${1:`%`})$0 \ No newline at end of file diff --git a/snippets/php-mode/urlencode b/snippets/php-mode/urlencode new file mode 100644 index 0000000..3878566 --- /dev/null +++ b/snippets/php-mode/urlencode @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: urlencode(...) +# key: urle +# uuid: urle +# -- +urlencode(${1:`%`})$0 \ No newline at end of file diff --git a/snippets/php-mode/var_dump b/snippets/php-mode/var_dump new file mode 100644 index 0000000..9cb675c --- /dev/null +++ b/snippets/php-mode/var_dump @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: var_dump(...) +# key: dump +# uuid: dump +# -- +var_dump(`%`$1); \ No newline at end of file diff --git a/snippets/php-mode/while b/snippets/php-mode/while new file mode 100644 index 0000000..7bdf9dc --- /dev/null +++ b/snippets/php-mode/while @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: while loop +# -- +while (${1:condition}) { + `%`$0 +} diff --git a/snippets/scala-mode/List b/snippets/scala-mode/List new file mode 100644 index 0000000..8ede259 --- /dev/null +++ b/snippets/scala-mode/List @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: List(...) +# -- +List(${1:args}) $0 \ No newline at end of file diff --git a/snippets/scala-mode/app b/snippets/scala-mode/app new file mode 100644 index 0000000..d301f20 --- /dev/null +++ b/snippets/scala-mode/app @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: object ... extends App { ... } +# -- +object ${1:name} extends App { + `%`$0 +} \ No newline at end of file diff --git a/snippets/scala-mode/case b/snippets/scala-mode/case new file mode 100644 index 0000000..487779a --- /dev/null +++ b/snippets/scala-mode/case @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: case ... => ... +# -- +case ${1:_} => $0 \ No newline at end of file diff --git a/snippets/scala-mode/cons b/snippets/scala-mode/cons new file mode 100644 index 0000000..d4b5f2d --- /dev/null +++ b/snippets/scala-mode/cons @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: element1 :: element2 +# -- +${1:element1} :: ${2:element2} $0 \ No newline at end of file diff --git a/snippets/scala-mode/def b/snippets/scala-mode/def new file mode 100644 index 0000000..7d3d694 --- /dev/null +++ b/snippets/scala-mode/def @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: def fn(args): R = { ... } +# -- +def ${1:name}(${2:args}): ${3:Unit} = { + `%`$0 +} \ No newline at end of file diff --git a/snippets/scala-mode/if b/snippets/scala-mode/if new file mode 100644 index 0000000..13745db --- /dev/null +++ b/snippets/scala-mode/if @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: if (...) { ... } +# -- +if (${1:condition}) { + `%`$0 +} \ No newline at end of file diff --git a/snippets/scala-mode/main b/snippets/scala-mode/main new file mode 100644 index 0000000..6e34c0c --- /dev/null +++ b/snippets/scala-mode/main @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: def main(args: Array[String]) = { ... } +# -- +def main(args: Array[String]) = { + `%`$0 +} \ No newline at end of file diff --git a/snippets/scala-mode/throw b/snippets/scala-mode/throw new file mode 100644 index 0000000..ad9a455 --- /dev/null +++ b/snippets/scala-mode/throw @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name : throw new Exception +# -- +throw new ${1:Exception}($2) $0 \ No newline at end of file diff --git a/snippets/scala-mode/try b/snippets/scala-mode/try new file mode 100644 index 0000000..3b742f1 --- /dev/null +++ b/snippets/scala-mode/try @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: try { ... } catch { case e => ... } +# -- +try { + `%`$0 +} catch { + case e: ${1:Throwable} => + ${2:// TODO: handle exception} +} \ No newline at end of file diff --git a/snippets/sh-mode/alias b/snippets/sh-mode/alias new file mode 100644 index 0000000..4dc30ef --- /dev/null +++ b/snippets/sh-mode/alias @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: alias +# key: alias +# uuid: alias +# -- +alias ${1:cmd}=$0 \ No newline at end of file diff --git a/snippets/sh-mode/args b/snippets/sh-mode/args new file mode 100644 index 0000000..196973f --- /dev/null +++ b/snippets/sh-mode/args @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: args +# key: args +# uuid: args +# -- +[ $# -lt ${1:2} ] \ No newline at end of file diff --git a/snippets/sh-mode/bang b/snippets/sh-mode/bang new file mode 100644 index 0000000..9c825e4 --- /dev/null +++ b/snippets/sh-mode/bang @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: bang +# key: #! +# uuid: #! +# -- +#!${1:/usr/bin/env `(symbol-name sh-shell)`} +$0 \ No newline at end of file diff --git a/snippets/sh-mode/case b/snippets/sh-mode/case new file mode 100644 index 0000000..276cdae --- /dev/null +++ b/snippets/sh-mode/case @@ -0,0 +1,8 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: case +# key: case +# uuid: case +# -- +case ${1:var} in + ${2:match}) $0 ;; +esac \ No newline at end of file diff --git a/snippets/sh-mode/elif b/snippets/sh-mode/elif new file mode 100644 index 0000000..70c9caf --- /dev/null +++ b/snippets/sh-mode/elif @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: elif +# key: elif +# uuid: elif +# -- +elif ${1:condition}; then + `%`$0 \ No newline at end of file diff --git a/snippets/sh-mode/else b/snippets/sh-mode/else new file mode 100644 index 0000000..e1763a3 --- /dev/null +++ b/snippets/sh-mode/else @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: else +# key: else +# uuid: else +# -- +else + `%`$0 \ No newline at end of file diff --git a/snippets/sh-mode/f b/snippets/sh-mode/f new file mode 100644 index 0000000..683037d --- /dev/null +++ b/snippets/sh-mode/f @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: short function +# key: f +# uuid: f +# -- +${1:name}() { + `%`$0 +} diff --git a/snippets/sh-mode/for b/snippets/sh-mode/for new file mode 100644 index 0000000..e7004ca --- /dev/null +++ b/snippets/sh-mode/for @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: for loop +# key: for +# uuid: for +# -- +for ${1:var} in ${2:stuff}; do + `%`$0 +done \ No newline at end of file diff --git a/snippets/sh-mode/for-one-line b/snippets/sh-mode/for-one-line new file mode 100644 index 0000000..41b282f --- /dev/null +++ b/snippets/sh-mode/for-one-line @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: for loop (one line) +# key: for; +# uuid: for; +# -- +for ${1:var} in ${2:stuff}; do `(doom-snippets-format "%n%s%n")`$0; done diff --git a/snippets/sh-mode/function b/snippets/sh-mode/function new file mode 100644 index 0000000..d5456ba --- /dev/null +++ b/snippets/sh-mode/function @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: function +# -- +function ${1:name} { + `%`$0 +} \ No newline at end of file diff --git a/snippets/sh-mode/function-one-line b/snippets/sh-mode/function-one-line new file mode 100644 index 0000000..4c736d3 --- /dev/null +++ b/snippets/sh-mode/function-one-line @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: one-line function +# key: f; +# uuid: f; +# -- +${1:name}() { `(doom-snippets-format "%n%s%n")`$0; } \ No newline at end of file diff --git a/snippets/sh-mode/getopts b/snippets/sh-mode/getopts new file mode 100644 index 0000000..e0f1fed --- /dev/null +++ b/snippets/sh-mode/getopts @@ -0,0 +1,13 @@ +# -*- mode: snippet; require-final-newline: nil -*- +# name: getopts +# key: getopts +# uuid: getopts +# -- +while getopts "${1:s:h:}" o; do + case "$o" in + ${2:X}) `(doom-snippets-format "%n%s")`$0 + ;; + *) usage + ;; + esac +done \ No newline at end of file diff --git a/snippets/sh-mode/gt b/snippets/sh-mode/gt new file mode 100644 index 0000000..0a59165 --- /dev/null +++ b/snippets/sh-mode/gt @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: Greater than +# key: > +# uuid: > +# -- +"$1" -gt "$2" diff --git a/snippets/sh-mode/if b/snippets/sh-mode/if new file mode 100644 index 0000000..4956a9f --- /dev/null +++ b/snippets/sh-mode/if @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: if +# -- +if $1; then + `%`$0 +fi diff --git a/snippets/sh-mode/if-one-line b/snippets/sh-mode/if-one-line new file mode 100644 index 0000000..9c038b0 --- /dev/null +++ b/snippets/sh-mode/if-one-line @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: if ...; then ...; fi +# key: if; +# uuid: if; +# -- +${1:condition} && ${0:echo 1} diff --git a/snippets/sh-mode/ife b/snippets/sh-mode/ife new file mode 100644 index 0000000..2b22e96 --- /dev/null +++ b/snippets/sh-mode/ife @@ -0,0 +1,10 @@ +# -*- mode: snippet -*- +# name: ife +# key: ife +# uuid: ife +# -- +if ${1:condition}; then + `%`${2:# code} +else + $0 +fi \ No newline at end of file diff --git a/snippets/sh-mode/local b/snippets/sh-mode/local new file mode 100644 index 0000000..cd789e7 --- /dev/null +++ b/snippets/sh-mode/local @@ -0,0 +1,4 @@ +# -*- mode: snippet -*- +# name: local var=value +# -- +local ${1:var}=${0:value} diff --git a/snippets/sh-mode/lt b/snippets/sh-mode/lt new file mode 100644 index 0000000..22c70eb --- /dev/null +++ b/snippets/sh-mode/lt @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: Less than +# key: < +# uuid: < +# -- +"$1" -lt "$2" diff --git a/snippets/sh-mode/var b/snippets/sh-mode/var new file mode 100644 index 0000000..4f803e6 --- /dev/null +++ b/snippets/sh-mode/var @@ -0,0 +1,6 @@ +# -*- mode: snippet -*- +# name: VAR=value +# key: = +# uuid: = +# -- +${1:VAR}=${0:VALUE} \ No newline at end of file diff --git a/snippets/sql-mode/column b/snippets/sql-mode/column new file mode 100644 index 0000000..849b43d --- /dev/null +++ b/snippets/sql-mode/column @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# contributor: Alejandro Espinoza Esparza +# name: , ColumnName ColumnType NOT NULL... +# -- + , ${1:Name} ${2:Type} ${3:NOT NULL} diff --git a/snippets/sql-mode/constraint b/snippets/sql-mode/constraint new file mode 100644 index 0000000..312190c --- /dev/null +++ b/snippets/sql-mode/constraint @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# contributor: Alejandro Espinoza Esparza +# name: CONSTRAINT [..] PRIMARY KEY ... +# -- +CONSTRAINT [${1:PK_Name}] PRIMARY KEY ${2:CLUSTERED} ([${3:ColumnName}]) diff --git a/snippets/sql-mode/constraint.1 b/snippets/sql-mode/constraint.1 new file mode 100644 index 0000000..f54ea0a --- /dev/null +++ b/snippets/sql-mode/constraint.1 @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# contributor: Alejandro Espinoza Esparza +# name: CONSTRAINT [..] FOREIGN KEY ... +# -- +CONSTRAINT [${1:FK_Name}] FOREIGN KEY ${2:CLUSTERED} ([${3:ColumnName}]) diff --git a/snippets/sql-mode/create b/snippets/sql-mode/create new file mode 100644 index 0000000..2d0ed21 --- /dev/null +++ b/snippets/sql-mode/create @@ -0,0 +1,11 @@ +# -*- mode: snippet -*- +# contributor: Alejandro Espinoza Esparza +# name: create table ... +# -- +CREATE TABLE [${1:dbo}].[${2:TableName}] +( + ${3:Id} ${4:INT IDENTITY(1,1)} ${5:NOT NULL} +$0 + CONSTRAINT [${6:PK_}] PRIMARY KEY ${7:CLUSTERED} ([$3]) +) +GO diff --git a/snippets/sql-mode/create.1 b/snippets/sql-mode/create.1 new file mode 100644 index 0000000..fb8b1ae --- /dev/null +++ b/snippets/sql-mode/create.1 @@ -0,0 +1,13 @@ +# -*- mode: snippet -*- +# contributor: Alejandro Espinoza Esparza +# name: create procedure ... +# -- +CREATE PROCEDURE [${1:dbo}].[${2:Name}] +( + $3 $4 = ${5:NULL} ${6:OUTPUT} +) +AS +BEGIN +$0 +END +GO diff --git a/snippets/sql-mode/references b/snippets/sql-mode/references new file mode 100644 index 0000000..ec3e58f --- /dev/null +++ b/snippets/sql-mode/references @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# contributor: Alejandro Espinoza Esparza +# name: REFERENCES ... +# -- +REFERENCES ${1:TableName}([${2:ColumnName}])