Compare commits
35 Commits
evil
...
52a7058da6
Author | SHA1 | Date | |
---|---|---|---|
52a7058da6 | |||
290243835f | |||
f75b9eda35 | |||
e98d12e7e8 | |||
0411b624da | |||
97ec0558dd | |||
cfb3279f52 | |||
1ade083d25 | |||
18a43a404c | |||
f654c2889b | |||
28e1e3d4b1 | |||
935cb9e70b | |||
97c7ea774b | |||
87c61ac6e9 | |||
e7750197c9 | |||
19750d202d | |||
9166630294 | |||
d1c00e505c | |||
9cddf59c1d | |||
0aed1d01a2 | |||
d39a050a04 | |||
38b36468f8 | |||
aced36ad35 | |||
7b0757f128 | |||
0522d5085f | |||
0e48c679ef | |||
fe386ce0d8 | |||
25e4d3ec05 | |||
52f8c664e6 | |||
b4e1c001ab | |||
1678f7b283 | |||
5536818ec3 | |||
9125667700 | |||
6598b63079 | |||
b7bd232410 |
7
.gitignore
vendored
7
.gitignore
vendored
@ -4,5 +4,8 @@ eln-cache
|
||||
private/.*
|
||||
private/cache
|
||||
bookmarks
|
||||
.lsp-session-v1
|
||||
projectile-bookmarks.eld
|
||||
.lsp-session*
|
||||
projectile-bookmarks.eld
|
||||
.org-id-locations
|
||||
org-roam.db
|
||||
lsp-cache/
|
@ -7,356 +7,65 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(setq evil-want-keybinding nil)
|
||||
;; use-package - No necesita presentación
|
||||
(use-package use-package
|
||||
;; Iconos principalmente para ser usados por neotree
|
||||
(use-package all-the-icons :defer t)
|
||||
|
||||
;; Iconos en Ivy (allthe icons)
|
||||
(use-package all-the-icons-ivy-rich
|
||||
:defer t
|
||||
:ensure t
|
||||
:init
|
||||
(all-the-icons-ivy-rich-mode 1)
|
||||
:config
|
||||
(setq use-package-always-ensure t) ; auto-instalar extenciones que no lo estén
|
||||
)
|
||||
(setq all-the-icons-ivy-rich-color-icon t))
|
||||
|
||||
;; Reemplazar y buscar mejorado
|
||||
(use-package anzu
|
||||
:ensure t
|
||||
:config
|
||||
(global-anzu-mode +1)
|
||||
(global-set-key [remap query-replace] 'anzu-query-replace)
|
||||
(global-set-key [remap query-replace-regexp] 'anzu-query-replace-regexp))
|
||||
|
||||
;; Auto-actualizar los paquetes
|
||||
(use-package auto-package-update
|
||||
:defer t
|
||||
: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 :defer t)
|
||||
|
||||
;; Terminal
|
||||
(use-package vterm :ensure t :defer t)
|
||||
|
||||
;; Multiple vterm
|
||||
(use-package multi-vterm :ensure t :defer t)
|
||||
|
||||
;; Highlight en los números.
|
||||
(use-package highlight-numbers
|
||||
:defer t
|
||||
:ensure t
|
||||
:hook
|
||||
(prog-mode . highlight-numbers-mode))
|
||||
|
||||
;; Mover líneas o regiones
|
||||
(use-package drag-stuff
|
||||
:config
|
||||
(drag-stuff-global-mode 1)
|
||||
(drag-stuff-define-keys))
|
||||
|
||||
;; 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 :defer t)
|
||||
|
||||
;; 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
|
||||
:defer t
|
||||
: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)
|
||||
)
|
||||
|
||||
;; Hacer uso de Emacs con las ventajas de vim.
|
||||
(use-package evil
|
||||
:defer t
|
||||
:init
|
||||
(evil-mode 1)
|
||||
(setq evil-want-keybinding nil)
|
||||
:config
|
||||
(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-want-fine-undo t)
|
||||
(setq evil-respect-visual-line-mode t)
|
||||
(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
|
||||
(define-key evil-normal-state-map (kbd "g b") 'evil-jump-backward)
|
||||
|
||||
;; 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 "<leader>b") 'ivy-switch-buffer)
|
||||
(evil-define-key 'visual 'global (kbd "<leader>b") 'ivy-switch-buffer)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>v") 'counsel-projectile)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>cp") 'projectile-switch-project)
|
||||
(evil-define-key 'visual 'global (kbd "<leader>v") 'counsel-projectile)
|
||||
(evil-define-key 'visual 'global (kbd "<leader>cp") 'projectile-switch-project)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>ff") 'counsel-find-file)
|
||||
(evil-define-key 'visual 'global (kbd "<leader>ff") 'counsel-find-file)
|
||||
|
||||
;; Atajos windmove con leader key
|
||||
(evil-define-key 'normal 'global (kbd "<leader>wh") 'windmove-left)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>wj") 'windmove-down)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>wk") 'windmove-up)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>wl") 'windmove-right)
|
||||
|
||||
;; Atajos con leader key para frames
|
||||
(evil-define-key 'normal 'global (kbd "<leader>0") 'delete-window)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>1") 'delete-other-windows)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>2") 'split-window-below)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>3") 'split-window-right)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>kb") 'kill-buffer)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>wb") 'winner-undo)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>wr") 'winner-redo)
|
||||
|
||||
;; Atajos para cambiar entre major modes
|
||||
(evil-define-key 'normal 'global (kbd "<leader>mh") 'html-mode)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>mj") 'js-mode)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>mp") 'php-mode)
|
||||
|
||||
;; Atajo para abrir vterm
|
||||
(evil-define-key 'normal 'global (kbd "<leader>tt") 'multi-vterm-dedicated-toggle)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>tf") 'multi-vterm)
|
||||
(evil-define-key 'normal 'global (kbd "<leader>tp") 'multi-vterm-project)
|
||||
|
||||
;; 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 'vterm-mode 'emacs)
|
||||
(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
|
||||
:defer t
|
||||
:config
|
||||
(evil-multiedit-default-keybinds)
|
||||
)
|
||||
|
||||
;; evil keybinding
|
||||
(use-package evil-collection
|
||||
:custom (evil-collection-setup-minibuffer t)
|
||||
:init (evil-collection-init))
|
||||
|
||||
;; Barra lateral de archivos
|
||||
(use-package treemacs
|
||||
:defer t
|
||||
:ensure t
|
||||
:hook (treemacs-mode . (lambda() (display-line-numbers-mode -1)))
|
||||
:bind ([mouse-1] . treemacs-single-click-expand-action)
|
||||
: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)
|
||||
("<f9>" . treemacs)
|
||||
("<f8>" . treemacs-display-current-project-exclusively)
|
||||
("<f7>" . 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
|
||||
:defer t
|
||||
: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 "<leader>b") 'ivy-switch-buffer)
|
||||
(evil-define-key 'treemacs 'global (kbd "<leader>v") 'counsel-projectile)
|
||||
(evil-define-key 'treemacs 'global (kbd "<leader>p") 'counsel-projectile)
|
||||
(evil-define-key 'treemacs 'global (kbd "<leader>cp") 'treemacs-projectile)
|
||||
(evil-define-key 'treemacs 'global (kbd "<leader>d") 'treemacs-remove-project-from-workspace))
|
||||
|
||||
(use-package treemacs-projectile
|
||||
:defer t
|
||||
:after (treemacs projectile)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-icons-dired
|
||||
:defer t
|
||||
:hook (dired-mode . treemacs-icons-dired-enable-once)
|
||||
:ensure t)
|
||||
|
||||
(use-package treemacs-persp ;;treemacs-perspective if you use perspective.el vs. persp-mode
|
||||
:defer t
|
||||
: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
|
||||
:defer t
|
||||
:after (treemacs)
|
||||
:ensure t
|
||||
:config (treemacs-set-scope-type 'Tabs))
|
||||
|
||||
;; Code Folding
|
||||
(use-package origami
|
||||
:defer t
|
||||
:config
|
||||
(global-origami-mode))
|
||||
(expand-file-name ".last-package-update-day" private-dir))
|
||||
(setq use-package-always-ensure t)
|
||||
(auto-package-update-maybe))
|
||||
|
||||
;; Automcompletado
|
||||
(use-package company
|
||||
:defer t
|
||||
:bind (:map company-active-map
|
||||
("<tab>" . company-indent-or-complete-common)) ; autocompletar con tab como se haría en bash-competition en la terminal de linux
|
||||
(:map company-active-map
|
||||
("<escape>" . company-abort)) ; cerrar las sugerencias de autocompletado precionando escape.
|
||||
:config
|
||||
:init
|
||||
(global-company-mode)
|
||||
:config
|
||||
(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)))
|
||||
(setq company-backends '((company-capf :with company-yasnippet)
|
||||
(company-files :with company-yasnippet)
|
||||
(company-dabbrev-code company-ctags company-keywords :with company-yasnippet)
|
||||
(company-dabbrev :with company-yasnippet)))
|
||||
)
|
||||
|
||||
;; Hacer que el autocompletado se vea más bonito con íconos
|
||||
(use-package company-box
|
||||
:defer t
|
||||
:hook (company-mode . company-box-mode))
|
||||
|
||||
;; Usar autocompletado con ctags y company
|
||||
(use-package company-ctags :defer t)
|
||||
|
||||
;; Poner la info acerca del autocompletado del autocompletado mas rápido
|
||||
(use-package company-quickhelp
|
||||
:defer t
|
||||
@ -365,40 +74,64 @@
|
||||
(company-quickhelp-delay 2)
|
||||
(company-quickhelp-mode))
|
||||
|
||||
;; Hacer que el autocompletado se vea más bonito con íconos
|
||||
(use-package company-box
|
||||
;; Autocompletado para shell scripting.
|
||||
(use-package company-shell
|
||||
:defer t
|
||||
:hook (company-mode . company-box-mode))
|
||||
|
||||
;; Usar autocompletado con ctags y company
|
||||
(use-package company-ctags
|
||||
:config
|
||||
(add-to-list 'company-backends '(company-ctags))
|
||||
(add-to-list 'company-backends '(company-shell company-shell-env company-fish-shell))
|
||||
)
|
||||
|
||||
;; Snippets
|
||||
(use-package yasnippet
|
||||
;; Autocompletado para el minibuffer (counsel e ivy)
|
||||
(use-package counsel :defer t)
|
||||
|
||||
;; Autocompletado de proyectos en counsel (projectile)
|
||||
(use-package counsel-projectile
|
||||
:defer t
|
||||
:config
|
||||
(counsel-projectile-mode))
|
||||
|
||||
;; Un bonito y sencillo panel de inicio
|
||||
(use-package dashboard
|
||||
:defer t
|
||||
:init
|
||||
(dashboard-setup-startup-hook)
|
||||
:config
|
||||
(setq dashboard-set-file-icons t)
|
||||
(setq dashboard-set-heading-icons t)
|
||||
(setq dashboard-set-file-icons t)
|
||||
(setq dashboard-startup-banner
|
||||
(expand-file-name "duck-small.png" user-emacs-directory))
|
||||
(setq dashboard-items '(
|
||||
(agenda . 10)
|
||||
;;(recents . 10)
|
||||
))
|
||||
)
|
||||
|
||||
;; Mover líneas o regiones
|
||||
(use-package drag-stuff
|
||||
:defer t
|
||||
:init
|
||||
(drag-stuff-global-mode 1)
|
||||
:config
|
||||
(drag-stuff-define-keys))
|
||||
|
||||
;; La línea bonita esa de abajo
|
||||
(use-package doom-modeline
|
||||
:defer t
|
||||
:ensure t
|
||||
:custom
|
||||
(yas-prompt-functions '(yas-completing-prompt))
|
||||
:init (doom-modeline-mode 1)
|
||||
:config
|
||||
(yas-reload-all)
|
||||
:hook
|
||||
((prog-mode feature-mode) . yas-minor-mode))
|
||||
(setq doom-modeline-project-detection 'auto
|
||||
doom-modeline-buffer-file-name-style 'relative-from-project
|
||||
doom-modeline-major-mode-color-icon t
|
||||
doom-modeline-buffer-modification-icon t
|
||||
doom-modeline-indent-info nil
|
||||
doom-modeline-persp-name t))
|
||||
|
||||
;; Restaurar el estado de los frames
|
||||
(use-package winner
|
||||
:init
|
||||
(winner-mode 1))
|
||||
|
||||
(use-package lsp-mode
|
||||
;; Emmet - Una ayuda para escribir HTML rápidamente (escribre doc, luego preciona C-j y lo entenderás)
|
||||
(use-package emmet-mode
|
||||
:defer t
|
||||
:hook (js-mode . lsp-deferred)
|
||||
:custom
|
||||
(lsp-headerline-breadcrumb-enable nil))
|
||||
|
||||
(use-package lsp-ui)
|
||||
:hook (html-mode . emmet-mode))
|
||||
|
||||
;; Revisar sintaxis en vivo
|
||||
(use-package flycheck
|
||||
@ -412,43 +145,66 @@
|
||||
:defer t
|
||||
: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)
|
||||
)
|
||||
;; Git Gutter - Marca a la izq. si una linea ha sido agregada, editada o eliminada desde el último commit.
|
||||
(use-package git-gutter
|
||||
:defer t
|
||||
:init
|
||||
(global-git-gutter-mode +1))
|
||||
|
||||
;; Autocompletado para shell scripting.
|
||||
(use-package company-shell
|
||||
;; Highlight en los números.
|
||||
(use-package highlight-numbers
|
||||
:defer t
|
||||
:ensure t
|
||||
:hook
|
||||
(prog-mode . highlight-numbers-mode))
|
||||
|
||||
;; Mostrar info del panel inferior de otra manera
|
||||
(use-package ivy
|
||||
:defer t
|
||||
:config
|
||||
(add-to-list 'company-backends '(company-shell company-shell-env company-fish-shell))
|
||||
(ivy-mode 1)
|
||||
(setq ivy-use-virtual-buffers nil)
|
||||
)
|
||||
|
||||
;; Autocompletado para el minibuffer (counsel e ivy)
|
||||
(use-package counsel
|
||||
(use-package ivy-rich
|
||||
:defer t
|
||||
: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))
|
||||
:ensure t
|
||||
:config
|
||||
(ivy-rich-mode 1))
|
||||
|
||||
;; Languaje server protocol
|
||||
(use-package lsp-mode
|
||||
:defer t
|
||||
:custom
|
||||
(lsp-headerline-breadcrumb-enable nil)
|
||||
:config
|
||||
(setq lsp-completion-provider :none))
|
||||
|
||||
;; Interface para lsp
|
||||
(use-package lsp-ui :defer t)
|
||||
|
||||
;; Magia para git
|
||||
(use-package magit :defer t)
|
||||
|
||||
;; Modo markdown
|
||||
(use-package markdown-mode :defer t)
|
||||
|
||||
;; Multiple vterm
|
||||
(use-package multi-vterm :ensure t :defer t)
|
||||
|
||||
;; Code Folding
|
||||
(use-package origami
|
||||
:defer t
|
||||
:init
|
||||
(global-origami-mode))
|
||||
|
||||
;; Paquete para manejo de proyectos
|
||||
(use-package projectile
|
||||
:defer t
|
||||
: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))
|
||||
@ -457,18 +213,10 @@
|
||||
;; 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")
|
||||
(when (file-directory-p "~/mnt/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"))))
|
||||
'("~/mnt/Nginx"))))
|
||||
(setq projectile-switch-project-action #'projectile-dired) ; Usar dired cuando se elija un proyecto.
|
||||
|
||||
;; Cambiar el título de la ventana de emacs
|
||||
@ -483,168 +231,74 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; Autocompletado de proyectos en counsel (projectile)
|
||||
(use-package counsel-projectile
|
||||
;; Recentf - Guarda registro de los archivos abiertos recientemente
|
||||
(use-package recentf
|
||||
:defer t
|
||||
:config
|
||||
(global-set-key (kbd "C-x v") 'counsel-projectile)
|
||||
(counsel-projectile-mode))
|
||||
(setq recentf-save-file
|
||||
(recentf-expand-file-name (concat temp-dir "/recentf")))
|
||||
(recentf-mode 1))
|
||||
|
||||
;; Mostrar info del panel inferior de otra manera
|
||||
(use-package ivy
|
||||
;; Guardar la posición del cursor en un archivo para volver allí cuando se lo vuelva a abrir.
|
||||
(use-package saveplace
|
||||
:defer t
|
||||
:bind
|
||||
("C-x s" . swiper)
|
||||
("C-x C-r" . ivy-resume)
|
||||
("C-x b" . ivy-switch-buffer)
|
||||
:init
|
||||
(save-place-mode 1)
|
||||
: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 "<escape>") '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))
|
||||
(setq save-place-file (locate-user-emacs-file (concat temp-dir "/places"))))
|
||||
|
||||
;; Autocompletado de parentesis, corchetes, llaves, etc.
|
||||
(use-package smartparens
|
||||
:config
|
||||
:defer t
|
||||
:init
|
||||
(smartparens-global-mode t))
|
||||
|
||||
;; 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
|
||||
;; Mejorando el scroll
|
||||
(use-package smooth-scrolling
|
||||
:defer t
|
||||
:pin org
|
||||
:hook (org-mode . efs/org-mode-setup)
|
||||
:init
|
||||
(smooth-scrolling-mode 1)
|
||||
:config
|
||||
(setq org-ellipsis " ▾")
|
||||
(setq org-hide-emphasis-markers t)
|
||||
(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)
|
||||
)
|
||||
|
||||
(setq org-agenda-start-with-log-mode t)
|
||||
(setq org-log-done 'time)
|
||||
(setq org-log-into-drawer t)
|
||||
;; use-package - No necesita presentación
|
||||
(use-package use-package :defer t)
|
||||
|
||||
;; Terminal
|
||||
(use-package vterm :ensure t :defer 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"))
|
||||
)
|
||||
;; Cuando iniicias un atajo de teclas te muestra las posibilidades
|
||||
(use-package which-key
|
||||
:defer t
|
||||
:init
|
||||
(which-key-mode))
|
||||
|
||||
;; 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")
|
||||
)
|
||||
;; Restaurar el estado de los frames
|
||||
(use-package winner
|
||||
:defer t
|
||||
:init
|
||||
(winner-mode 1))
|
||||
|
||||
;; 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
|
||||
;; Permitir snippets
|
||||
(use-package yasnippet
|
||||
:defer t
|
||||
:ensure t
|
||||
:custom
|
||||
(yas-prompt-functions '(yas-completing-prompt))
|
||||
:config
|
||||
(yas-reload-all)
|
||||
:hook
|
||||
(org-mode . org-superstar-mode)
|
||||
:config
|
||||
(setq org-superstar-special-todo-items t)
|
||||
)
|
||||
((prog-mode feature-mode) . yas-minor-mode-on)
|
||||
(html-mode . yas-minor-mode))
|
||||
|
||||
(defun efs/org-mode-visual-fill ()
|
||||
"Visual mode fill columns."
|
||||
(visual-fill-column-mode 1))
|
||||
;; Coleción de snippets
|
||||
(use-package yasnippet-snippets :ensure t :defer t)
|
||||
|
||||
(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)
|
||||
)
|
||||
;; Org-Mode
|
||||
(require 'org-config)
|
||||
|
||||
(provide 'base-extensions)
|
||||
;;; base-extensions.el ends here
|
||||
|
@ -1,4 +1,11 @@
|
||||
(provide 'base-functions)
|
||||
;;; base-functions.el --- Configuración de org-mode
|
||||
|
||||
;; Author: kj <webmaster@outcontrol.net>
|
||||
;; URL: https://git.kj2.me/kj/confi-emacs-actual
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; Buscar el texto actualmente seleccionado
|
||||
(defun kj-isearch-with-region ()
|
||||
@ -17,7 +24,7 @@
|
||||
|
||||
;; Generar archivo TAGS
|
||||
(defun create-tags (dir-name)
|
||||
"Create tags file."
|
||||
"Create tags file in DIR-NAME."
|
||||
(interactive "DDirectory: ")
|
||||
(shell-command
|
||||
(format "cd '%s' && ctags -f TAGS -e -R --exclude=*.min.js"
|
||||
@ -29,6 +36,7 @@
|
||||
|
||||
;; Hacer emacs transparente (no funciona perfecto, pero sirve)
|
||||
(defun toggle-transparency ()
|
||||
"Cambia la transparencia de Emacs (es un poco useless)."
|
||||
(interactive)
|
||||
(let ((alpha (frame-parameter nil 'alpha)))
|
||||
(set-frame-parameter
|
||||
@ -41,6 +49,9 @@
|
||||
'(60 . 60) '(100 . 100)))))
|
||||
|
||||
(defun transparency (value)
|
||||
"Sets the transparency of the frame window. 0=transparent/100=opaque"
|
||||
"Set the transparency VALUE of the frame window. 0=transparent/100=opaque."
|
||||
(interactive "nTransparency Value 0 - 100 opaque:")
|
||||
(set-frame-parameter (selected-frame) 'alpha value))
|
||||
|
||||
(provide 'base-functions)
|
||||
;;; base-functions.el ends here.
|
||||
|
@ -11,12 +11,13 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(define-key minibuffer-local-map (kbd "<escape>")
|
||||
'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 "C-z") 'undo) ; Unbind C-z y hacerlo funcionar para deshacer cambios
|
||||
(global-set-key (kbd "C-S-z") 'undo-redo) ; Rehacer cambios con C-S-z
|
||||
(global-set-key (kbd "C-S-a") 'mark-whole-buffer) ; Seleccionar todo con CTRL+SHIFT+a.
|
||||
|
||||
(global-set-key (kbd "M-c") 'comment-or-uncomment-region) ; Comentar/descomentar en lote
|
||||
(global-set-key (kbd "C-x c c")
|
||||
'comment-or-uncomment-region) ; Comentar/descomentar en lote
|
||||
|
||||
(global-set-key (kbd "C-<f6>") 'create-tags) ; Generar o Regeneral el archivo TAGS
|
||||
|
||||
@ -25,5 +26,59 @@
|
||||
(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.
|
||||
|
||||
;; Cambios rápidos de major modes
|
||||
(global-set-key (kbd "C-x m") nil) ; Unbind mail on C-x m
|
||||
(global-set-key (kbd "C-x mh") 'html-mode)
|
||||
(global-set-key (kbd "C-x mj") 'js-mode)
|
||||
(global-set-key (kbd "C-x mp") 'php-mode)
|
||||
|
||||
;; Vterm
|
||||
(global-set-key (kbd "C-x tt") 'multi-vterm-dedicated-toggle)
|
||||
(global-set-key (kbd "C-x tf") 'multi-vterm)
|
||||
(global-set-key (kbd "C-x tp") 'multi-vterm-project)
|
||||
|
||||
;; Atajos de windmove
|
||||
(global-set-key (kbd "C-x <left>") 'windmove-left)
|
||||
(global-set-key (kbd "C-x <right>") 'windmove-right)
|
||||
(global-set-key (kbd "C-x <up>") 'windmove-up)
|
||||
(global-set-key (kbd "C-x <down>") 'windmove-down)
|
||||
|
||||
;; Atajos para reemplazar (los por fedecto no van bien para el teclado en español)
|
||||
(global-set-key (kbd "C-x /") 'query-replace-regexp)
|
||||
(global-set-key (kbd "M-/") 'query-replace)
|
||||
|
||||
;; Atajo para origami-mode
|
||||
(global-set-key (kbd "C-<tab>") 'origami-toggle-node)
|
||||
(global-set-key (kbd "C-<iso-lefttab>") 'origami-toggle-all-nodes)
|
||||
|
||||
;; Atajo para counsel-proyectile
|
||||
(global-set-key (kbd "C-x p") 'counsel-projectile)
|
||||
|
||||
;; Atajos de Ivy
|
||||
(global-set-key (kbd "C-x s") 'swiper)
|
||||
(global-set-key (kbd "C-x C-r") 'ivy-resume)
|
||||
(global-set-key (kbd "C-x b") 'ivy-switch-buffer)
|
||||
(global-set-key (kbd "C-x C-b") 'ivy-switch-buffer)
|
||||
(define-key ivy-minibuffer-map (kbd "TAB") 'ivy-partial)
|
||||
(define-key ivy-minibuffer-map (kbd "<escape>") 'minibuffer-keyboard-quit)
|
||||
|
||||
;; Atajos projectile
|
||||
(global-set-key (kbd "C-c p") 'projectile-command-map)
|
||||
|
||||
;; Atajos counsel
|
||||
(global-set-key (kbd "M-x") 'counsel-M-x)
|
||||
(global-set-key (kbd "C-x C-f") 'counsel-find-file)
|
||||
(global-set-key (kbd "M-y") 'counsel-yank-pop)
|
||||
(define-key company-active-map (kbd "<tab>") 'company-indent-or-complete-common) ; autocompletar con tab como se haría en bash-competition en la terminal de linux
|
||||
(define-key company-active-map (kbd "<escape>") 'company-abort) ; cerrar las sugerencias de autocompletado precionando escape.
|
||||
|
||||
;; Atajos org-roam
|
||||
(global-set-key (kbd "C-c r i") 'org-roam-node-insert)
|
||||
(global-set-key (kbd "C-c r f") 'org-roam-node-find)
|
||||
(global-set-key (kbd "C-c r t") 'org-roam-buffer-toggle)
|
||||
|
||||
;; Meta atajos (atajos de atajos)
|
||||
(global-set-key (kbd "C-c l d") "\C-a\C- \C-n\M-w\C-y") ; Duplicar línea
|
||||
|
||||
(provide 'base-keys)
|
||||
;;; base-keys.el ends here
|
||||
|
@ -11,7 +11,8 @@
|
||||
;;; Code:
|
||||
|
||||
;; The default is 800 kilobytes. Measured in bytes.
|
||||
(setq gc-cons-threshold (* 50 1000 1000))
|
||||
(setq gc-cons-threshold (* 50 1024 1024))
|
||||
(setq read-process-output-max (* 1024 1024))
|
||||
|
||||
;; Native compilation
|
||||
(when (and (fboundp 'native-comp-available-p)
|
||||
@ -19,7 +20,6 @@
|
||||
(progn
|
||||
(setq native-comp-async-report-warnings-errors nil)
|
||||
(setq comp-deferred-compilation t)
|
||||
(add-to-list 'native-comp-eln-load-path (expand-file-name "private/cache/eln-cache/" user-emacs-directory))
|
||||
(setq package-native-compile t)
|
||||
))
|
||||
|
||||
@ -100,8 +100,9 @@
|
||||
|
||||
;; Configuración cuando es un server
|
||||
(defun setup-daemon ()
|
||||
"Carga la configuración del modo daemon."
|
||||
(message "Corriendo en modo daemon.")
|
||||
(set-face-attribute 'default nil :font "Fira Code Retina")
|
||||
(set-face-attribute 'default nil :font "Fira Code Retina" :height 112)
|
||||
|
||||
;; Set the fixed pitch face
|
||||
;;(set-face-attribute 'fixed-pitch nil :font "Fira Code Retina")
|
||||
@ -115,11 +116,9 @@
|
||||
;; 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)))))
|
||||
)
|
||||
(mapc 'kill-buffer (delq (get-buffer "*dashboard*") (buffer-list)))
|
||||
))
|
||||
)
|
||||
|
||||
(if (daemonp)
|
||||
(add-hook 'after-make-frame-functions
|
||||
@ -128,6 +127,7 @@
|
||||
(setup-daemon))))
|
||||
(message "Corriendo en modo normal."))
|
||||
|
||||
;(add-hook 'window-setup-hook 'toggle-frame-maximized t)
|
||||
|
||||
(load custom-file)
|
||||
|
||||
|
@ -12,14 +12,13 @@
|
||||
|
||||
(use-package php-mode
|
||||
:defer t
|
||||
:bind ("<C-tab>" . 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
|
||||
))
|
||||
;; :bind ("C-c d b" . php-doc-block)
|
||||
:hook (php-mode . (lambda ()
|
||||
(local-set-key (kbd "C-c d b") 'php-doc-block) ;; atajo para docblock
|
||||
(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
|
||||
|
26
configs/lang-rust.el
Normal file
26
configs/lang-rust.el
Normal file
@ -0,0 +1,26 @@
|
||||
;;; lang-rust.el --- Configuración para el lenguaje PHP
|
||||
|
||||
;; Author: kj <webmaster@outcontrol.net>
|
||||
;; URL: https://git.kj2.me/kj/confi-emacs-actual
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-package rust-mode
|
||||
:defer t
|
||||
:ensure t
|
||||
:config
|
||||
(setq rust-format-on-save t))
|
||||
|
||||
(use-package rustic
|
||||
:defer t
|
||||
:ensure t
|
||||
:config
|
||||
(setq rustic-lsp-server 'rls)
|
||||
(setq rustic-lsp-client 'lsp)
|
||||
;;(setq rustic-lsp-client nil)
|
||||
(push 'rustic-clippy flycheck-checkers))
|
||||
|
||||
(provide 'lang-rust)
|
||||
;;; lang-rust.el ends here
|
163
configs/org-config.el
Normal file
163
configs/org-config.el
Normal file
@ -0,0 +1,163 @@
|
||||
;;; org-config.el --- Configuración de org-mode
|
||||
|
||||
;; Author: kj <webmaster@outcontrol.net>
|
||||
;; URL: https://git.kj2.me/kj/confi-emacs-actual
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
(defun kj/org-hook ()
|
||||
"Configuración para el hook de 'org-mode'."
|
||||
|
||||
(display-line-numbers-mode 0)
|
||||
(variable-pitch-mode 1)
|
||||
(visual-line-mode 1)
|
||||
(visual-fill-column-mode 1)
|
||||
|
||||
;; Configuración de fonts
|
||||
;; (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-hide nil :inherit 'fixed-pitch)
|
||||
(set-face-attribute 'org-block nil :foreground 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)
|
||||
|
||||
;; Tachar los elementos "DONE"
|
||||
(set-face-attribute 'org-done nil :strike-through t)
|
||||
(set-face-attribute 'org-headline-done nil
|
||||
:strike-through t
|
||||
:foreground "light gray")
|
||||
|
||||
)
|
||||
|
||||
(use-package org
|
||||
:defer t
|
||||
:pin org
|
||||
:hook
|
||||
(org-mode . kj/org-hook)
|
||||
:config
|
||||
(setq company-dabbrev-ignore-case nil) ; Hacer el autocompletado case-sensitive.
|
||||
(setq org-ellipsis " ▾")
|
||||
(setq org-hide-emphasis-markers t)
|
||||
(setq org-startup-folded 'content)
|
||||
|
||||
(setq org-agenda-start-with-log-mode t)
|
||||
(setq org-log-done 'time)
|
||||
(setq org-log-into-drawer t)
|
||||
(setq org-cycle-separator-lines 2)
|
||||
|
||||
;; Identación
|
||||
(setq org-startup-indented t)
|
||||
(setq org-src-preserve-indentation nil)
|
||||
(setq org-edit-src-content-indentation 0)
|
||||
(setq org-src-tab-acts-natively 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"))
|
||||
)
|
||||
|
||||
|
||||
;; Embellecer los checkbox
|
||||
;; (add-hook 'org-mode-hook (lambda ()
|
||||
;; "Beautify Org Checkbox Symbol"
|
||||
;; (push '("[ ]" . "☐") prettify-symbols-alist)
|
||||
;; (push '("[X]" . "☑" ) prettify-symbols-alist)
|
||||
;; (push '("[-]" . "❍" ) prettify-symbols-alist)
|
||||
;; (prettify-symbols-mode)))
|
||||
|
||||
;; Tachar los checkbox marcados como terminados
|
||||
(defface org-checkbox-done-text
|
||||
'((t (:foreground "#71696A" :strike-through t)))
|
||||
"Face for the text part of a checked org-mode checkbox.")
|
||||
|
||||
(font-lock-add-keywords
|
||||
'org-mode
|
||||
`(("^[ \t]*\\(?:[-+*]\\|[0-9]+[).]\\)[ \t]+\\(\\(?:\\[@\\(?:start:\\)?[0-9]+\\][ \t]*\\)?\\[\\(?:X\\|\\([0-9]+\\)/\\2\\)\\][^\n]*\n\\)"
|
||||
1 'org-checkbox-done-text prepend))
|
||||
'append)
|
||||
|
||||
;; Archivos a usarse en org-agenda
|
||||
(setq org-agenda-files
|
||||
'("~/Documentos/ORG/Agenda/Ideas.org"
|
||||
"~/Documentos/ORG/Agenda/IdeasTwitch.org"
|
||||
"~/Documentos/ORG/Agenda/Proyectos.org"
|
||||
"~/Documentos/ORG/Agenda/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 "~/Documentos/ORG/Agenda/Tareas.org")
|
||||
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)
|
||||
("tp" "Proyectos" entry (file+olp "~/Documentos/ORG/Agenda/Proyectos.org")
|
||||
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)
|
||||
("i" "Ideas")
|
||||
("ii" "Ideas General" entry
|
||||
(file+olp "~/Documentos/ORG/Agenda/ideas.org")
|
||||
"* TODO %?\n %a\n %i" :empty-lines 1)
|
||||
("it" "Ideas Twitch" entry
|
||||
(file+olp "~/Documentos/ORG/Agenda/IdeasTwitch.org")
|
||||
"* TODO %?\n %a\n %i" :empty-lines 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(use-package org-bullets
|
||||
:defer t
|
||||
:hook
|
||||
(org-mode . org-bullets-mode))
|
||||
|
||||
(use-package visual-fill-column
|
||||
:config
|
||||
;; Tamaño de la columna
|
||||
(setq-default visual-fill-column-width 150)
|
||||
;; Centrar el texto
|
||||
(setq-default visual-fill-column-center-text t)
|
||||
)
|
||||
|
||||
(use-package org-roam
|
||||
:defer t
|
||||
:ensure t
|
||||
:init
|
||||
(setq org-roam-v2-ack t)
|
||||
(setq org-roam-completion-system 'ivy)
|
||||
:custom
|
||||
(org-roam-directory "~/Documentos/ORG/Notas")
|
||||
(org-roam-completion-everywhere t)
|
||||
:config
|
||||
(org-roam-setup))
|
||||
|
||||
(use-package org-roam-ui
|
||||
:defer t
|
||||
:ensure t
|
||||
:config
|
||||
(setq org-roam-ui-sync-theme t
|
||||
org-roam-ui-follow t
|
||||
org-roam-ui-update-on-save t
|
||||
org-roam-ui-open-on-start t))
|
||||
|
||||
(provide 'org-config)
|
||||
;;; org-config.el ends here
|
1
init.el
1
init.el
@ -19,6 +19,7 @@
|
||||
(require 'lang-php)
|
||||
(require 'lang-js)
|
||||
(require 'lang-go)
|
||||
(require 'lang-rust)
|
||||
|
||||
(provide 'init)
|
||||
;;; init.el ends here
|
||||
|
12
readme.md
12
readme.md
@ -18,9 +18,18 @@ Al igual que la versión anterior, puede ser necesario ejecutar el siguiente com
|
||||
|
||||
Y eso sería todo.
|
||||
|
||||
## Dependencias espefícicas
|
||||
|
||||
Algunos lenguajes, ya sea para hacer uso de flycheck, lsp o autocompletado, pueden requerir que instales algunas cosas en específico.
|
||||
|
||||
- *Javascript*: Necesita de al menos [deno](https://deno.land/) para LSP y [node](https://nodejs.org/es/) para flycheck, aunque creo que con deno puede bastar para ambos.
|
||||
- *PHP*: Requiere instalar php-cli (`apt install php-cli`) para flycheck.
|
||||
- *GO*: Necesita etener instalado [go](https://go.dev/) para linter (gofmt) y [gopls](https://github.com/golang/tools/tree/master/gopls) para LSP.
|
||||
- *Rust*: Necesita clippy para flycheck y LSP. Pare este útimo igual es posible usar [rust-analyzer](https://rust-analyzer.github.io).
|
||||
|
||||
## 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).
|
||||
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 [documentación de emacs](https://www.emacswiki.org/emacs/EmacsAsDaemon).
|
||||
|
||||
Para iniciar el daemon, puedes hacerlo desde la terminal ejecutando:
|
||||
|
||||
@ -41,7 +50,6 @@ Finalmente, para abrirlo, es necesaria la usar `emacsclient` en lugar de `emacs`
|
||||
## 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.
|
||||
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: @import
|
||||
# key: imp
|
||||
# uuid: imp
|
||||
# --
|
||||
@import "`(doom-snippets-text nil t)`$0";
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: @import url("//fonts.googleapis...")
|
||||
# key: impfont
|
||||
# uuid: impfont
|
||||
# --
|
||||
@import url("http://fonts.googleapis.com/css?family=${1:Open+Sans}");
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: @import url(...)
|
||||
# key: impurl
|
||||
# uuid: impurl
|
||||
# --
|
||||
@import url("`(doom-snippets-text nil t)`$0");
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: margin: ...;
|
||||
# key: mar
|
||||
# uuid: mar
|
||||
# --
|
||||
margin: ${1:0 auto};
|
@ -1,8 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: @media
|
||||
# key: med
|
||||
# uuid: med
|
||||
# --
|
||||
@media ${1:screen} {
|
||||
`%`$0
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: @media (orientation: ?)
|
||||
# condition: (looking-back "@media " (line-beginning-position))
|
||||
# --
|
||||
(orientation: ${1:landscape})
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: @media print { ... }
|
||||
# --
|
||||
@media print {
|
||||
`%`$0
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: padding: ...;
|
||||
# key: pad
|
||||
# uuid: pad
|
||||
# --
|
||||
padding: ${1:10px};
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: ...: ...;
|
||||
# key: :
|
||||
# uuid: :
|
||||
# --
|
||||
${1:prop}: ${2:`%`};
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: append
|
||||
# --
|
||||
${1:type} = append($1, ${2:elems})
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: ... := ...
|
||||
# key: :=
|
||||
# uuid: :=
|
||||
# --
|
||||
${1:x} := ${2:`%`}
|
@ -1,5 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# contributor: Seong Yong-ju
|
||||
# name: const ... = ...
|
||||
# --
|
||||
const ${1:name}${2: type} = ${3:value}$0
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: ctx context.Context
|
||||
# --
|
||||
ctx context.Context
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: func ...(...) ... { ... }
|
||||
# --
|
||||
func ${1:name}(${2:args})${3: return type} {
|
||||
`%`$0
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: func (target) name(args) (results) { ... }
|
||||
# --
|
||||
func (${1:target}) ${2:name}(${3:args})${4: return type} {
|
||||
$0
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: for ... { ... }
|
||||
# --
|
||||
for $1 {
|
||||
`%`$0
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: for key, value := range ... { ... }
|
||||
# --
|
||||
for ${1:key}, ${2:value} := range ${3:target} {
|
||||
`%`$0
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: for key, value := range ... { ... }
|
||||
# --
|
||||
for ${1:key}, ${2:value} := range ${3:target} {
|
||||
`%`$0
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: for i := 0; i < n; i++ { ... }
|
||||
# --
|
||||
for ${1:i} := ${2:0}; $1 < ${3:10}; $1++ {
|
||||
`%`$0
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: for ... { ... }
|
||||
# --
|
||||
for $1 {
|
||||
`%`$0
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: func ...(...) ... { ... }
|
||||
# --
|
||||
func ${1:name}(${2:args})${3: return type} {
|
||||
`%`$0
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: go
|
||||
# --
|
||||
go ${1:func}(${2:args})$0
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: go func
|
||||
# --
|
||||
go func (${1:args}) {
|
||||
$0
|
||||
}(${2:values})
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: go func (short)
|
||||
# --
|
||||
go func (${1:args}) {
|
||||
$0
|
||||
}(${2:values})
|
@ -1,7 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# contributor: Seong Yong-ju
|
||||
# name: if ... { ... }
|
||||
# --
|
||||
if ${1:condition} {
|
||||
`%`$0
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# contributor: Seong Yong-ju
|
||||
# name: if ... { ... } else { ... }
|
||||
# --
|
||||
if ${1:condition} {
|
||||
`%`$2
|
||||
} else {
|
||||
$0
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: if err != nil { ... }
|
||||
# --
|
||||
if err != nil {
|
||||
`%`$0
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: import
|
||||
# --
|
||||
import ${1:package}$0
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: import
|
||||
# --
|
||||
import ${1:package}$0
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: type ... interface { ... }
|
||||
# --
|
||||
type $1 interface {
|
||||
`%`$0
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: func main() { ... }
|
||||
# --
|
||||
func main() {
|
||||
$0
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: map
|
||||
# --
|
||||
map[${1:KeyType}]${2:ValueType}
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: func (target) name(args) (results) { ... }
|
||||
# --
|
||||
func (${1:target}) ${2:name}(${3:args})${4: return type} {
|
||||
$0
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: package
|
||||
# --
|
||||
package ${1:`(car (last (split-string (file-name-directory buffer-file-name) "/") 2))`}
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: package (short)
|
||||
# --
|
||||
package ${1:`(car (last (split-string (file-name-directory buffer-file-name) "/") 2))`}
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: printf
|
||||
# --
|
||||
fmt.Printf("$1\n"${2:, ${3:str}})
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: printf
|
||||
# --
|
||||
fmt.Printf("$1\n"${2:, ${3:str}})
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: println
|
||||
# --
|
||||
fmt.Println("${1:msg}")$0
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: println (short)
|
||||
# --
|
||||
fmt.Println("${1:msg}")$0
|
@ -1,7 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: select
|
||||
# --
|
||||
select {
|
||||
case ${1:cond}:
|
||||
$0
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: type ... struct { ... }
|
||||
# --
|
||||
type $1 struct {
|
||||
`%`$0
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: switch
|
||||
# key: switch
|
||||
# uuid: switch
|
||||
# --
|
||||
switch {
|
||||
case ${1:cond}:
|
||||
$0
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: func Test...() { ... }
|
||||
# --
|
||||
func Test${1:Name}(${2:t *testing.T}) {
|
||||
`%`$0
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: var
|
||||
# --
|
||||
var ${1:name} ${2:type} = ${3:value}$0
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name : for ... { ... }
|
||||
# --
|
||||
for $1 {
|
||||
`%`$0
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: http request writer
|
||||
# --
|
||||
w http.ResponseWriter, r *http.Request
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# contributor: Rodrigo Setti <rodrigosetti@gmail.com>
|
||||
# name: <dd> ... </dd>
|
||||
# group: list
|
||||
# --
|
||||
<dd>$1</dd>
|
@ -1,8 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# contributor: Rodrigo Setti <rodrigosetti@gmail.com>
|
||||
# name: <dl> ... </dl>
|
||||
# group: list
|
||||
# --
|
||||
<dl>
|
||||
$0
|
||||
</dl>
|
@ -1,5 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: Doctype HTML 5
|
||||
# group: meta
|
||||
# --
|
||||
<!DOCTYPE html>
|
@ -1,5 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: DocType XHTML 1.0 frameset
|
||||
# group: meta
|
||||
# --
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
@ -1,5 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: DocType XHTML 1.1
|
||||
# group: meta
|
||||
# --
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
@ -1,5 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: DocType XHTML 1.0 Strict
|
||||
# group: meta
|
||||
# --
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
@ -1,5 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: DocType XHTML 1.0 Transitional
|
||||
# group: meta
|
||||
# --
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# contributor: Rodrigo Setti <rodrigosetti@gmail.com>
|
||||
# name: <dt> ... </dt>
|
||||
# group: list
|
||||
# --
|
||||
<dt>$1</dt>
|
@ -1,7 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# contributor: Jimmy Wu <frozenthrone88@gmail.com>
|
||||
# name: <form method="..." id="..." action="..."></form>
|
||||
# --
|
||||
<form method="$1" id="$2" action="$3">
|
||||
$0
|
||||
</form>
|
@ -1,7 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# contributor: Jimmy Wu <frozenthrone88@gmail.com>
|
||||
# name: <html>...</html>
|
||||
# --
|
||||
<html>
|
||||
$0
|
||||
</html>
|
@ -1,7 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# contributor: Jimmy Wu <frozenthrone88@gmail.com>
|
||||
# name: <html xmlns="...">...</html>
|
||||
# --
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="${1:en}" lang="${2:en}">
|
||||
$0
|
||||
</html>
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: <link rel="stylesheet" ... />
|
||||
# key: link
|
||||
# uuid: link
|
||||
# --
|
||||
<link rel="${1:stylesheet}" href="${2:url}" type="${3:text/css}" media="${4:screen}" />
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: <!--[if IE]><link stylesheet="..." /><![endif]-->
|
||||
# --
|
||||
<!--[if IE${1: version}]>
|
||||
<link rel="${2:stylesheet}" href="${3:url}" type="${4:text/css}" media="${5:screen}" />
|
||||
<![endif]-->
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: <a href="mailto:...@...">...</a>
|
||||
# --
|
||||
<a href="mailto:${1:john@doe.com}">`(doom-snippets-format "%n%s%n")`$0</a>
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# contributor : Jimmy Wu <frozenthrone88@gmail.com>
|
||||
# group: meta
|
||||
# name: <meta name="..." content="..." />
|
||||
# --
|
||||
<meta name="${1:generator}" content="${2:content}" />
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# contributor: Jimmy Wu <frozenthrone88@gmail.com>
|
||||
# name: <meta http-equiv="..." content="..." />
|
||||
# group: meta
|
||||
# --
|
||||
<meta name="${1:Content-Type}" content="${2:text/html; charset=UTF-8}" />
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: <script type="text/javascript">...</script>
|
||||
# --
|
||||
<script type="text/javascript">
|
||||
$0
|
||||
</script>
|
@ -1,4 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: <script type="text/javascript" src="..."></script>
|
||||
# --
|
||||
<script type="text/javascript" src="$1"></script>
|
@ -1,5 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# contributor: Jimmy Wu <frozenthrone88@gmail.com>
|
||||
# name: <textarea ...></textarea>
|
||||
# --
|
||||
<textarea name="$1" id="$2" rows="$3" cols="$4" tabindex="$5"></textarea>
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# contributor: Jimmy Wu <frozenthrone88@gmail.com>
|
||||
# name: <th>...</th>
|
||||
# group: table
|
||||
# --
|
||||
<th$1>$2</th>
|
@ -1,7 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: param
|
||||
# key: @param
|
||||
# uuid: @param
|
||||
# condition: (sp-point-in-comment)
|
||||
# --
|
||||
@param ${1:paramater} $0
|
@ -1,7 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: return
|
||||
# key: @return
|
||||
# uuid: @return
|
||||
# condition: (sp-point-in-comment)
|
||||
# --
|
||||
@return ${1:description}
|
@ -1,8 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: apr_assert
|
||||
# key: apr_assert
|
||||
# uuid: apr_assert
|
||||
# --
|
||||
if (Globals.useAssertions) {
|
||||
${1:assert ..};
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: class
|
||||
# key: class
|
||||
# uuid: class
|
||||
# --
|
||||
${1:public }class ${2:`(f-base buffer-file-name)`} {
|
||||
$0
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: constructor
|
||||
# key: __init__
|
||||
# uuid: __init__
|
||||
# --
|
||||
public ${1:`(f-base buffer-file-name)`}($2) {
|
||||
$0
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: doc
|
||||
# key: /*
|
||||
# uuid: /*
|
||||
# condition: (not (use-region-p))
|
||||
# --
|
||||
/**
|
||||
* $0
|
||||
*/
|
@ -1,8 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: equals
|
||||
# key: eq
|
||||
# uuid: eq
|
||||
# --
|
||||
public boolean equals(${1:Class} other) {
|
||||
$0
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: file_class
|
||||
# key: file
|
||||
# uuid: file
|
||||
# --
|
||||
public class ${1:`(file-name-base
|
||||
(or (buffer-file-name)
|
||||
(buffer-name)))`} {
|
||||
$0
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: for
|
||||
# key: for
|
||||
# uuid: for
|
||||
# --
|
||||
for (${1:int i = 0}; ${2:i < N}; ${3:i++}) {
|
||||
`%`$0
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: foreach
|
||||
# key: fore
|
||||
# uuid: fore
|
||||
# --
|
||||
for (${1:Object} ${2:var} : ${3:iterator}) {
|
||||
$0
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: if
|
||||
# key: if
|
||||
# uuid: if
|
||||
# condition: (not (sp-point-in-string-or-comment))
|
||||
# --
|
||||
if (${1:true}) {
|
||||
$0
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: ife
|
||||
# key: ife
|
||||
# uuid: ife
|
||||
# --
|
||||
if (${1:true}) {
|
||||
`%`$2
|
||||
} else {
|
||||
$0
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: import
|
||||
# --
|
||||
import ${1:System.};
|
||||
$0
|
@ -1,8 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: interface
|
||||
# key: interface
|
||||
# uuid: interface
|
||||
# --
|
||||
interface ${1:`(f-base buffer-file-name)`} {
|
||||
$0
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: iterator
|
||||
# key: iterator
|
||||
# uuid: iterator
|
||||
# --
|
||||
public Iterator<${1:type}> iterator() {
|
||||
$0
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: javadoc
|
||||
# key: doc
|
||||
# uuid: doc
|
||||
# --
|
||||
/**
|
||||
* $0
|
||||
*
|
||||
*/
|
@ -1,8 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: main
|
||||
# key: main
|
||||
# uuid: main
|
||||
# --
|
||||
public static void main(String[] args) {
|
||||
$0
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: method
|
||||
# key: method
|
||||
# uuid: method
|
||||
# condition: (not (sp-point-in-string-or-comment))
|
||||
# --
|
||||
${1:void} ${2:name}($3) {
|
||||
$0
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
# -*- 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
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: new
|
||||
# key: new
|
||||
# uuid: new
|
||||
# --
|
||||
${1:Type} ${2:obj} = new ${3:$1}($4);$0
|
@ -1,9 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: paintComponent (Swing)
|
||||
# key: paintComponent
|
||||
# uuid: paintComponent
|
||||
# condition: (not (sp-point-in-string-or-comment))
|
||||
# --
|
||||
@Override public void paintComponent(Graphics g) {
|
||||
`%`$0
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: printf
|
||||
# key: printf
|
||||
# uuid: printf
|
||||
# --
|
||||
System.out.printf("`%`$0%n");
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: println
|
||||
# key: println
|
||||
# uuid: println
|
||||
# --
|
||||
System.out.println("`%`$0");
|
@ -1,6 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: private
|
||||
# key: pri
|
||||
# uuid: pri
|
||||
# --
|
||||
private $0
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user