diff --git a/.Xresources b/.Xresources new file mode 100644 index 0000000..417f656 --- /dev/null +++ b/.Xresources @@ -0,0 +1,32 @@ +Xft.dpi: 96 +Xft.antialias: 1 +Xft.hinting: 1 +Xft.hintstyle: hintmedium + +URxvt.termName: rxvt +URxvt.depth: 32 +URxvt.transparent: false +URxvt.font: xft:Fire Code:size=12 +URxvt.scrollBar: false +## URxvt.iconFile: .rexim/icons/terminal-icon.png + +URxvt*depth: 32 +URxvt*foreground: #e4e4ef +URxvt*background: #181818 + +*color0: #2E3436 +*color1: #a40000 +*color2: #4E9A06 +*color3: #C4A000 +*color4: #3465A4 +*color5: #75507B +*color6: #ce5c00 +*color7: #babdb9 +*color8: #555753 +*color9: #EF2929 +*color10: #8AE234 +*color11: #FCE94F +*color12: #729FCF +*color13: #AD7FA8 +*color14: #fcaf3e +*color15: #EEEEEC diff --git a/.emacs b/.emacs index 32366e2..951c9fd 100644 --- a/.emacs +++ b/.emacs @@ -1,42 +1,83 @@ -(package-initialize) +;;; RCs -;; Aggiunge il repository melpa -(add-to-list 'package-archives - '("melpa" . "https://melpa.org/packages/")) +(package-initialize) ;Package.el won't shut up + ;without this line being + ;specificaly here and not + ;anywhere else ~_~ +(load "~/.emacs.rc/rc.el") -;; Configurazione di Smex -(global-set-key (kbd "M-x") 'smex) -(global-set-key (kbd "M-X") 'smex-major-mode-commands) -;; This is you old M-x -(global-set-key (kbd "C-c C-c M-x") 'execute-extended-command) +(load "~/.emacs.rc/misc-rc.el") +(load "~/.emacs.rc/appearance-rc.el") +(load "~/.emacs.rc/ido-smex-rc.el") +(load "~/.emacs.rc/ccmode-rc.el") +(load "~/.emacs.rc/paredit-rc.el") +(load "~/.emacs.rc/emacs-lisp-rc.el") +(load "~/.emacs.rc/haskell-mode-rc.el") +;;(load "~/.emacs.rc/whitespace-mode-rc.el") +(load "~/.emacs.rc/magit-rc.el") +(load "~/.emacs.rc/multiple-cursors-rc.el") +(load "~/.emacs.rc/openwith-rc.el") +(load "~/.emacs.rc/dired-rc.el") +(load "~/.emacs.rc/helm-rc.el") +(load "~/.emacs.rc/yasnippet-rc.el") +(load "~/.emacs.rc/rainbow-rc.el") +(load "~/.emacs.rc/word-wrap-rc.el") +(load "~/.emacs.rc/js2-mode-rc.el") +(load "~/.emacs.rc/nxml-mode-rc.el") +(load "~/.emacs.rc/tramp-rc.el") +(load "~/.emacs.rc/org-mode-rc.el") +(load "~/.emacs.rc/org-cliplink-rc.el") +(load "~/.emacs.rc/org-babel-rc.el") +(load "~/.emacs.rc/org-capture-rc.el") +(load "~/.emacs.rc/autocommit-rc.el") +(load "~/.emacs.rc/powershell-rc.el") +(load "~/.emacs.rc/eldoc-mode-rc.el") +(load "~/.emacs.rc/recentf-mode-rc.el") +(load "~/.emacs.rc/company-rc.el") +(load "~/.emacs.rc/tide-rc.el") +(load "~/.emacs.rc/editorconfig-rc.el") +(load "~/.emacs.rc/nasm-mode-rc.el") +(load "~/.emacs.rc/latex-mode-rc.el") +(load "~/.emacs.rc/agda2-mode-rc.el") +(load "~/.emacs.rc/move-text-rc.el") -;; Elimina lo screen allo startup -(setq inhibit-startup-screen t) +(add-to-list 'auto-mode-alist '("\\.ebi\\'" . lisp-mode)) -;; Elimina la menù bar -(menu-bar-mode 0) - -;; Elimina la toolbar -(tool-bar-mode 0) - -(ido-mode 1) - -;; Configura il font di default -(set-default-font "Fira Code-12") - -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(custom-enabled-themes (quote (wombat))) - '(package-selected-packages (quote (smex)))) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. +;;; Packages that don't require configuration +(rc/require + 'scala-mode + 'd-mode + 'yaml-mode + 'glsl-mode + 'tuareg + 'lua-mode + 'less-css-mode + 'graphviz-dot-mode + 'clojure-mode + 'cmake-mode + 'rust-mode + 'csharp-mode + 'nim-mode + 'jinja2-mode + 'markdown-mode + 'purescript-mode + 'nix-mode + 'dockerfile-mode + 'love-minor-mode + 'toml-mode + 'nginx-mode + 'kotlin-mode + 'go-mode + 'php-mode + 'racket-mode + 'qml-mode + 'ag + 'hindent + 'elpy + 'typescript-mode ) -;; Imposta il backup della configurazione -(setq backup-directory-alist '(("." . "~/.emacs_saves"))) +(load "~/.emacs.shadow/shadow-rc.el" t) + +(setq custom-file "~/.emacs-custom.el") +(load custom-file) diff --git a/.emacs-custom.el b/.emacs-custom.el new file mode 100644 index 0000000..20af936 --- /dev/null +++ b/.emacs-custom.el @@ -0,0 +1,64 @@ +(custom-set-variables + ;; custom-set-variables was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(org-agenda-dim-blocked-tasks nil) + '(org-agenda-exporter-settings (quote ((org-agenda-tag-filter-preset (list "+personal"))))) + '(org-cliplink-transport-implementation (quote url-el)) + '(org-enforce-todo-dependencies nil) + '(org-modules + (quote + (org-bbdb org-bibtex org-docview org-gnus org-habit org-info org-irc org-mhe org-rmail org-w3m))) + '(org-refile-use-outline-path (quote file)) + '(package-selected-packages + (quote + (wombat-theme darcula-theme darcula-theme-theme zeal-at-point yaml-mode xquery-mode uuidgen tuareg tt-mode toml-mode tide smex slime rtags rainbow-mode racket-mode racer qml-mode purescript-mode powershell picolisp-mode php-mode paredit pacmacs package-lint org-pomodoro org-cliplink openwith nsis-mode nodejs-repl nix-mode nim-mode nginx-mode neotree nasm-mode multiple-cursors morganey-mode markdown-mode magit love-minor-mode less-css-mode kotlin-mode js2-mode jira-markup-mode jinja2-mode jade-mode jabber ido-ubiquitous htmlize helm-ls-git helm-git-grep helm-cmd-t haskell-mode handlebars-mode gruber-darker-theme groovy-mode graphviz-dot-mode gradle-mode google-translate go-mode glsl-mode ggtags fsharp-mode flycheck-rust fixmee evil erlang ensime emojify elpy elm-mode elfeed editorconfig dropdown-list dockerfile-mode d-mode csv-nav csharp-mode crux cmake-mode clojure-mode cil-mode buffer-move bnfc batch-mode ag ack))) + '(safe-local-variable-values + (quote + ((haskell-process-args-cabal-new-repl "--ghc-option=-ferror-spans" "--ghc-option=-Wno-missing-home-modules" "exe:HyperNerd") + (haskell-process-args-cabal-repl "--ghc-option=-ferror-spans" "--ghc-option=-Wno-missing-home-modules" "exe:poutro") + (haskell-process-args-cabal-repl "--ghc-option=-ferror-spans" "--ghc-option=-Wno-missing-home-modules" "exe:HyperNerd") + (fixmee-mode . t) + (eval progn + (auto-revert-mode 1) + (rc/autopull-changes) + (add-hook + (quote after-save-hook) + (quote rc/autocommit-changes) + nil + (quote make-it-local))) + (eval progn + (rc/autopull-changes) + (add-hook + (quote after-save-hook) + (quote rc/autocommit-changes) + nil + (quote make-it-local))) + (eval when + (eq system-type + (quote gnu/linux)) + (rc/autopull-changes) + (add-hook + (quote after-save-hook) + (quote rc/autocommit-changes) + nil + (quote make-it-local))) + (eval rc/autocommit-dir-locals) + (eval when + (fboundp + (quote flymake-mode)) + (flymake-mode 1)) + (eval when + (fboundp + (quote rainbow-mode)) + (rainbow-mode 1))))) + '(whitespace-style + (quote + (face tabs spaces trailing space-before-tab newline indentation empty space-after-tab space-mark tab-mark)))) +(custom-set-faces + ;; custom-set-faces was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + ) diff --git a/.emacs.local/.gitkeep b/.emacs.local/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/.emacs.rc/-exec b/.emacs.rc/-exec new file mode 100644 index 0000000..e69de29 diff --git a/.emacs.rc/-type b/.emacs.rc/-type new file mode 100644 index 0000000..e69de29 diff --git a/.emacs.rc/agda2-mode-rc.el b/.emacs.rc/agda2-mode-rc.el new file mode 100644 index 0000000..43e6e30 --- /dev/null +++ b/.emacs.rc/agda2-mode-rc.el @@ -0,0 +1,3 @@ +(when (executable-find "agda-mode") + (load-file (let ((coding-system-for-read 'utf-8)) + (shell-command-to-string "agda-mode locate")))) diff --git a/.emacs.rc/appearance-rc.el b/.emacs.rc/appearance-rc.el new file mode 100644 index 0000000..b096e2b --- /dev/null +++ b/.emacs.rc/appearance-rc.el @@ -0,0 +1,21 @@ +;;; Fonts +(defun rc/get-default-font () + (cond + ((eq system-type 'windows-nt) "Consolas-13") + ((eq system-type 'gnu/linux) "Fira Code-12"))) + +(add-to-list 'default-frame-alist `(font . ,(rc/get-default-font))) + +(when (display-graphic-p) + (set-face-attribute 'fixed-pitch nil :family (rc/get-default-font))) + +;;; GUI +(tool-bar-mode 0) +(menu-bar-mode 0) +(scroll-bar-mode 0) +(column-number-mode 1) +(show-paren-mode 1) + +;;; Themes +(rc/require-theme 'darcula) + diff --git a/.emacs.rc/autocommit-rc.el b/.emacs.rc/autocommit-rc.el new file mode 100644 index 0000000..ca2ddbe --- /dev/null +++ b/.emacs.rc/autocommit-rc.el @@ -0,0 +1,149 @@ +;;; TODO(c3bdae31-4329-4217-98a0-743b9dcbb6d2): extract autocommit into a separate package +;;; +;;; Once e266bfaa-2a01-4881-9e7f-ce2c592f7cdd is done, I think we can do that. + +(defvar rc/autocommit-local-locks + (make-hash-table :test 'equal)) + +(defun rc/file-truename-nilable (filename) + (when filename + (file-truename filename))) + +(defun rc/autocommit--id () + (let ((id (-> default-directory + (locate-dominating-file ".git") + (rc/file-truename-nilable)))) + (when (not id) + (error "%s is not inside of a git repository" default-directory)) + (unless (gethash id rc/autocommit-local-locks) + (puthash id nil rc/autocommit-local-locks)) + id)) + +(defun rc/autocommit--get-lock (lock) + (-> (rc/autocommit--id) + (gethash rc/autocommit-local-locks) + (plist-get lock))) + +(defun rc/autocommit--set-lock (lock value) + (puthash (rc/autocommit--id) + (-> (rc/autocommit--id) + (gethash rc/autocommit-local-locks) + (plist-put lock value)) + rc/autocommit-local-locks)) + +(defun rc/autocommit--toggle-lock (lock) + (-> lock + (rc/autocommit--get-lock) + (not) + (rc/autocommit--set-lock))) + +(defun rc/autocommit--create-dir-locals (file-name) + (write-region "((nil . ((eval . (rc/autocommit-dir-locals)))))" + nil file-name)) + +(defun rc/y-or-n-if (predicate question action) + (when (or (not (funcall predicate)) + (y-or-n-p question)) + (funcall action))) + +;;; TODO(4229cf9a-4768-4f5e-aca1-865256c64a23): rc/autocommit-init-dir should modify dir locals file on AST level +;;; +;;; Right know it just overrides .dir-locals file on text level. I +;;; want it to +;;; - read .dir-locals, +;;; - parse the assoc list, +;;; - check if there is already autocommit stuff +;;; - add autocommit stuff to the assoc list if needed +;;; - and write it back to the file +;;; +;;; That will enable us with modifying dir locals that contains custom +;;; stuff unrelated to autocommit +(defun rc/autocommit-init-dir (&optional dir) + "Initialize autocommit folder." + (interactive "DAutocommit directory: ") + (let* ((autocommit-dir (if dir dir default-directory)) + (file-name (concat autocommit-dir + dir-locals-file))) + (rc/y-or-n-if (-partial #'file-exists-p file-name) + (format "%s already exists. Replace it?" file-name) + (-partial #'rc/autocommit--create-dir-locals file-name)))) + +(defun rc/autocommit-dir-locals () + "The function that has to be put into the .dir-locals.el file +of the autocommit folder as evaluated for any mode." + (interactive) + (auto-revert-mode 1) + (rc/autopull-changes) + (add-hook 'after-save-hook + 'rc/autocommit-changes + nil 'make-it-local)) + +;;; TODO: rc/toggle-autocommit-offline doesn't work correctly +;;; +;;; It should toggle offline for all of the folders at once +(defun rc/toggle-autocommit-offline () + "Toggle between OFFLINE and ONLINE modes. + +Autocommit can be in two modes: OFFLINE and ONLINE. When ONLINE +rc/autocommit-changes does `git commit && git push'. When OFFLINE +rc/autocommit does only `git commit'." + (interactive) + (rc/autocommit--toggle-lock 'autocommit-offline) + (if (rc/autocommit--get-lock 'autocommit-offline) + (message "[OFFLINE] Autocommit Mode") + (message "[ONLINE] Autocommit Mode"))) + +(defun rc/autopull-changes () + "Pull the recent changes. + +Should be invoked once before working with the content under +autocommit. Usually put into the dir locals file." + (interactive) + (when (not (rc/autocommit--get-lock 'autopull-lock)) + (rc/autocommit--set-lock 'autopull-lock t) + (if (rc/autocommit--get-lock 'autocommit-offline) + (message "[OFFLINE] NOT Syncing the Agenda") + (if (y-or-n-p (format "Sync the Agenda? [%s]" (rc/autocommit--id))) + (progn + (message (format "Syncing the Agenda [%s]" (rc/autocommit--id))) + (shell-command "git pull")) + (progn + (rc/autocommit--set-lock 'autocommit-offline t) + (message (format "[OFFLINE] NOT Syncing the Agenda [%s]" + (rc/autocommit--id)))))))) + +(defun rc/autocommit-changes () + "Commit all of the changes under the autocommit folder. + +Should be invoked each time a change is made. Usually put into +dir locals file." + (interactive) + (if (rc/autocommit--get-lock 'autocommit-lock) + (rc/autocommit--set-lock 'autocommit-changed t) + (rc/autocommit--set-lock 'autocommit-lock t) + (rc/autocommit--set-lock 'autocommit-changed nil) + (set-process-sentinel (rc/run-commit-process (rc/autocommit--id)) + (-partial 'rc/autocommit-beat (rc/autocommit--id))))) + +(defun rc/run-commit-process (autocommit-directory) + (let ((default-directory autocommit-directory)) + (let ((autocommit-message (format-time-string "Autocommit %s"))) + (start-process-shell-command + (format "Autocommit-%s" autocommit-directory) + (format "*Autocommit-%s*" autocommit-directory) + (format (if (rc/autocommit--get-lock 'autocommit-offline) + "git add -A && git commit -m \"%s\"" + "git add -A && git commit -m \"%s\" && git push origin master") + autocommit-message))))) + +(defun rc/autocommit-beat (autocommit-directory process event) + (let ((default-directory autocommit-directory)) + (message (if (rc/autocommit--get-lock 'autocommit-offline) + "[OFFLINE] Autocommit: %s" + "Autocommit: %s") + event) + (if (not (rc/autocommit--get-lock 'autocommit-changed)) + (rc/autocommit--set-lock 'autocommit-lock nil) + (rc/autocommit--set-lock 'autocommit-changed nil) + (set-process-sentinel (rc/run-commit-process autocommit-directory) + (-partial 'rc/autocommit-beat autocommit-directory))))) diff --git a/.emacs.rc/ccmode-rc.el b/.emacs.rc/ccmode-rc.el new file mode 100644 index 0000000..f00136a --- /dev/null +++ b/.emacs.rc/ccmode-rc.el @@ -0,0 +1,10 @@ +(setq-default c-basic-offset 4 + c-default-style '((java-mode . "java") + (awk-mode . "awk") + (other . "bsd"))) + +(add-to-list 'auto-mode-alist '("\\.h\\'" . c++-mode)) + +(add-hook 'c-mode-hook (lambda () + (interactive) + (c-toggle-comment-style -1))) diff --git a/.emacs.rc/company-rc.el b/.emacs.rc/company-rc.el new file mode 100644 index 0000000..2d6a8c5 --- /dev/null +++ b/.emacs.rc/company-rc.el @@ -0,0 +1,9 @@ +(rc/require 'company) +(require 'company) + +(global-company-mode) + +(add-hook 'tuareg-mode-hook + (lambda () + (interactive) + (company-mode 0))) diff --git a/.emacs.rc/dired-rc.el b/.emacs.rc/dired-rc.el new file mode 100644 index 0000000..a1c4e1b --- /dev/null +++ b/.emacs.rc/dired-rc.el @@ -0,0 +1,5 @@ +(require 'dired-x) +(setq dired-omit-files + (concat dired-omit-files "\\|^\\..+$")) +(setq-default dired-dwim-target t) +(setq dired-listing-switches "-alh") diff --git a/.emacs.rc/editorconfig-rc.el b/.emacs.rc/editorconfig-rc.el new file mode 100644 index 0000000..4fa2475 --- /dev/null +++ b/.emacs.rc/editorconfig-rc.el @@ -0,0 +1,2 @@ +(rc/require 'editorconfig) +(editorconfig-mode 1) diff --git a/.emacs.rc/eldoc-mode-rc.el b/.emacs.rc/eldoc-mode-rc.el new file mode 100644 index 0000000..dd3dbdb --- /dev/null +++ b/.emacs.rc/eldoc-mode-rc.el @@ -0,0 +1,5 @@ +(defun rc/turn-on-eldoc-mode () + (interactive) + (eldoc-mode 1)) + +(add-hook 'emacs-lisp-mode-hook 'rc/turn-on-eldoc-mode) diff --git a/.emacs.rc/emacs-lisp-rc.el b/.emacs.rc/emacs-lisp-rc.el new file mode 100644 index 0000000..9a08855 --- /dev/null +++ b/.emacs.rc/emacs-lisp-rc.el @@ -0,0 +1,5 @@ +(add-hook 'emacs-lisp-mode-hook + '(lambda () + (local-set-key (kbd "C-c C-j") + (quote eval-print-last-sexp)))) +(add-to-list 'auto-mode-alist '("Cask" . emacs-lisp-mode)) diff --git a/.emacs.rc/haskell-mode-rc.el b/.emacs.rc/haskell-mode-rc.el new file mode 100644 index 0000000..a8bb841 --- /dev/null +++ b/.emacs.rc/haskell-mode-rc.el @@ -0,0 +1,9 @@ +(rc/require 'haskell-mode) + +(setq haskell-process-type 'cabal-new-repl) +(setq haskell-process-log t) + +(add-hook 'haskell-mode-hook 'haskell-indent-mode) +(add-hook 'haskell-mode-hook 'interactive-haskell-mode) +(add-hook 'haskell-mode-hook 'haskell-doc-mode) +(add-hook 'haskell-mode-hook 'hindent-mode) diff --git a/.emacs.rc/helm-rc.el b/.emacs.rc/helm-rc.el new file mode 100644 index 0000000..b5fabf0 --- /dev/null +++ b/.emacs.rc/helm-rc.el @@ -0,0 +1,10 @@ +(rc/require 'helm 'helm-cmd-t 'helm-git-grep 'helm-ls-git) + +(setq helm-ff-transformer-show-only-basename nil) + +(global-set-key (kbd "C-c h t") 'helm-cmd-t) +(global-set-key (kbd "C-c h g g") 'helm-git-grep) +(global-set-key (kbd "C-c h g l") 'helm-ls-git-ls) +(global-set-key (kbd "C-c h f") 'helm-find) +(global-set-key (kbd "C-c h a") 'helm-org-agenda-files-headings) +(global-set-key (kbd "C-c h r") 'helm-recentf) diff --git a/.emacs.rc/ido-smex-rc.el b/.emacs.rc/ido-smex-rc.el new file mode 100644 index 0000000..3893766 --- /dev/null +++ b/.emacs.rc/ido-smex-rc.el @@ -0,0 +1,10 @@ +(rc/require 'smex 'ido-completing-read+) + +(require 'ido-completing-read+) + +(ido-mode 1) +(ido-everywhere 1) +(ido-ubiquitous-mode 1) + +(global-set-key (kbd "M-x") 'smex) +(global-set-key (kbd "C-c C-c M-x") 'execute-extended-command) diff --git a/.emacs.rc/js2-mode-rc.el b/.emacs.rc/js2-mode-rc.el new file mode 100644 index 0000000..4907e2c --- /dev/null +++ b/.emacs.rc/js2-mode-rc.el @@ -0,0 +1,7 @@ +(rc/require 'js2-mode) + +(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode)) +(add-to-list 'interpreter-mode-alist '("node" . js2-mode)) + +(add-to-list 'auto-mode-alist '("\\.jsx\\'" . js2-jsx-mode)) +(add-to-list 'interpreter-mode-alist '("node". js2-jsx-mode)) diff --git a/.emacs.rc/latex-mode-rc.el b/.emacs.rc/latex-mode-rc.el new file mode 100644 index 0000000..57afc38 --- /dev/null +++ b/.emacs.rc/latex-mode-rc.el @@ -0,0 +1,4 @@ +(add-hook 'tex-mode-hook (lambda () + (interactive) + (add-to-list 'tex-verbatim-environments "code"))) + diff --git a/.emacs.rc/magit-rc.el b/.emacs.rc/magit-rc.el new file mode 100644 index 0000000..f87bb11 --- /dev/null +++ b/.emacs.rc/magit-rc.el @@ -0,0 +1,9 @@ +;; magit requres this lib, but it is not installed automatically on +;; Windows. +(rc/require 'cl-lib) +(rc/require 'magit) + +(setq magit-auto-revert-mode nil) + +(global-set-key (kbd "C-c m s") 'magit-status) +(global-set-key (kbd "C-c m l") 'magit-log) diff --git a/.emacs.rc/misc-rc.el b/.emacs.rc/misc-rc.el new file mode 100644 index 0000000..7062fc3 --- /dev/null +++ b/.emacs.rc/misc-rc.el @@ -0,0 +1,136 @@ +(require 'ansi-color) + +(global-set-key (kbd "C-c p") 'find-file-at-point) +(global-set-key (kbd "C-c i m") 'imenu) + +(setq-default inhibit-splash-screen t + make-backup-files nil + tab-width 4 + indent-tabs-mode nil + compilation-scroll-output t + default-input-method "russian-computer" + visible-bell (equal system-type 'windows-nt)) + +(defun rc/colorize-compilation-buffer () + (toggle-read-only) + (ansi-color-apply-on-region compilation-filter-start (point)) + (toggle-read-only)) +(add-hook 'compilation-filter-hook 'rc/colorize-compilation-buffer) + +(defun rc/buffer-file-name () + (if (equal major-mode 'dired-mode) + default-directory + (buffer-file-name))) + +(defun rc/parent-directory (path) + (file-name-directory (directory-file-name path))) + +(defun rc/root-anchor (path anchor) + (cond + ((string= anchor "") nil) + ((file-exists-p (concat (file-name-as-directory path) anchor)) path) + ((string-equal path "/") nil) + (t (rc/root-anchor (rc/parent-directory path) anchor)))) + +(defun rc/clipboard-org-mode-file-link (anchor) + (interactive "sRoot anchor: ") + (let* ((root-dir (rc/root-anchor default-directory anchor)) + (org-mode-file-link (format "file:%s::%d" + (if root-dir + (file-relative-name (rc/buffer-file-name) root-dir) + (rc/buffer-file-name)) + (line-number-at-pos)))) + (kill-new org-mode-file-link) + (message org-mode-file-link))) + +;;; Taken from here: +;;; http://stackoverflow.com/questions/2416655/file-path-to-clipboard-in-emacs +(defun rc/put-file-name-on-clipboard () + "Put the current file name on the clipboard" + (interactive) + (let ((filename (rc/buffer-file-name))) + (when filename + (kill-new filename) + (message filename)))) + +(defun rc/put-buffer-name-on-clipboard () + "Put the current buffer name on the clipboard" + (interactive) + (kill-new (buffer-name)) + (message (buffer-name))) + +(defun rc/kill-autoloads-buffers () + (interactive) + (dolist (buffer (buffer-list)) + (let ((name (buffer-name buffer))) + (when (string-match-p "-autoloads.el" name) + (kill-buffer buffer) + (message "Killed autoloads buffer %s" name))))) + +(defun rc/start-python-simple-http-server () + (interactive) + (shell-command "python -m SimpleHTTPServer 3001 &" + "*Simple Python HTTP Server*")) + +(global-set-key (kbd "C-x p s") 'rc/start-python-simple-http-server) + +;;; Taken from here: +;;; http://blog.bookworm.at/2007/03/pretty-print-xml-with-emacs.html +(defun bf-pretty-print-xml-region (begin end) + "Pretty format XML markup in region. You need to have nxml-mode +http://www.emacswiki.org/cgi-bin/wiki/NxmlMode installed to do +this. The function inserts linebreaks to separate tags that have +nothing but whitespace between them. It then indents the markup +by using nxml's indentation rules." + (interactive "r") + (save-excursion + (nxml-mode) + (goto-char begin) + (while (search-forward-regexp "\>[ \\t]*\<" nil t) + (backward-char) (insert "\n")) + (indent-region begin end)) + (message "Ah, much better!")) + +;;; Stolen from http://ergoemacs.org/emacs/emacs_unfill-paragraph.html +(defun rc/unfill-paragraph () + "Replace newline chars in current paragraph by single spaces. +This command does the inverse of `fill-paragraph'." + (interactive) + (let ((fill-column 90002000)) ; 90002000 is just random. you can use `most-positive-fixnum' + (fill-paragraph nil))) + +(global-set-key (kbd "C-c M-q") 'rc/unfill-paragraph) + +(defun rc/load-path-here () + (interactive) + (add-to-list 'load-path default-directory)) + +(defconst rc/frame-transparency 85) + +(defun rc/toggle-transparency () + (interactive) + (let ((frame-alpha (frame-parameter nil 'alpha))) + (if (or (not frame-alpha) + (= (cadr frame-alpha) 100)) + (set-frame-parameter nil 'alpha + `(,rc/frame-transparency + ,rc/frame-transparency)) + (set-frame-parameter nil 'alpha '(100 100))))) + +(defun rc/duplicate-line () + "Duplicate current line" + (interactive) + (move-beginning-of-line 1) + (kill-line) + (yank) + (newline) + (yank)) + +(global-set-key (kbd "C-,") 'rc/duplicate-line) + +;;; A little hack which fixes a problem with meta key in fluxbox under VNC. +(setq x-alt-keysym 'meta) + +(setq confirm-kill-emacs 'y-or-n-p) + +(server-start) diff --git a/.emacs.rc/move-text-rc.el b/.emacs.rc/move-text-rc.el new file mode 100644 index 0000000..0856229 --- /dev/null +++ b/.emacs.rc/move-text-rc.el @@ -0,0 +1,3 @@ +(rc/require 'move-text) +(global-set-key (kbd "M-p") 'move-text-up) +(global-set-key (kbd "M-n") 'move-text-down) diff --git a/.emacs.rc/multiple-cursors-rc.el b/.emacs.rc/multiple-cursors-rc.el new file mode 100644 index 0000000..81b96ee --- /dev/null +++ b/.emacs.rc/multiple-cursors-rc.el @@ -0,0 +1,8 @@ +(rc/require 'multiple-cursors) + +(global-set-key (kbd "C-S-c C-S-c") 'mc/edit-lines) +(global-set-key (kbd "C->") 'mc/mark-next-like-this) +(global-set-key (kbd "C-<") 'mc/mark-previous-like-this) +(global-set-key (kbd "C-c C-<") 'mc/mark-all-like-this) +(global-set-key (kbd "C-\"") 'mc/skip-to-next-like-this) +(global-set-key (kbd "C-:") 'mc/skip-to-previous-like-this) diff --git a/.emacs.rc/nasm-mode-rc.el b/.emacs.rc/nasm-mode-rc.el new file mode 100644 index 0000000..16faf3f --- /dev/null +++ b/.emacs.rc/nasm-mode-rc.el @@ -0,0 +1,2 @@ +(rc/require 'nasm-mode) +(add-to-list 'auto-mode-alist '("\\.asm\\'" . nasm-mode)) diff --git a/.emacs.rc/nxml-mode-rc.el b/.emacs.rc/nxml-mode-rc.el new file mode 100644 index 0000000..17dc584 --- /dev/null +++ b/.emacs.rc/nxml-mode-rc.el @@ -0,0 +1,3 @@ +(add-to-list 'auto-mode-alist '("\\.html\\'" . nxml-mode)) +(add-to-list 'auto-mode-alist '("\\.xsd\\'" . nxml-mode)) +(add-to-list 'auto-mode-alist '("\\.ant\\'" . nxml-mode)) diff --git a/.emacs.rc/openwith-rc.el b/.emacs.rc/openwith-rc.el new file mode 100644 index 0000000..178befc --- /dev/null +++ b/.emacs.rc/openwith-rc.el @@ -0,0 +1,16 @@ +(rc/require 'openwith) + +(openwith-mode 1) + + +(setq openwith-associations + (append + (when (eq system-type 'gnu/linux) + '(("\\.pdf\\'" "evince" (file)) + ("\\.djvu\\'" "evince" (file)))) + '(("\\.docx\\'" "libreoffice" (file)) + ("\\.xlsx\\'" "libreoffice" (file)) + ("\\.doc\\'" "libreoffice" (file)) + ("\\.rtf\\'" "libreoffice" (file)) + ("\\.ods\\'" "libreoffice" (file)) + ("\\.mp3\\'" "vlc" (file))))) diff --git a/.emacs.rc/org-babel-rc.el b/.emacs.rc/org-babel-rc.el new file mode 100644 index 0000000..8334fd2 --- /dev/null +++ b/.emacs.rc/org-babel-rc.el @@ -0,0 +1 @@ +(require 'ob-python) diff --git a/.emacs.rc/org-capture-rc.el b/.emacs.rc/org-capture-rc.el new file mode 100644 index 0000000..33f4c35 --- /dev/null +++ b/.emacs.rc/org-capture-rc.el @@ -0,0 +1,6 @@ +(setq org-capture-templates + '(("p" "Capture task" entry (file "~/Documents/Agenda/Tasks.org") + "* TODO %?\n SCHEDULED: %t\n") + ("K" "Cliplink capture task" entry (file "~/Documents/Agenda/Tasks.org") + "* TODO %(org-cliplink-capture) \n SCHEDULED: %t\n" :empty-lines 1))) +(define-key global-map "\C-cc" 'org-capture) diff --git a/.emacs.rc/org-cliplink-rc.el b/.emacs.rc/org-cliplink-rc.el new file mode 100644 index 0000000..5ffb6f0 --- /dev/null +++ b/.emacs.rc/org-cliplink-rc.el @@ -0,0 +1,19 @@ +(rc/require 'org-cliplink) + +(when (eq system-type 'gnu/linux) + (custom-set-variables + '(org-cliplink-transport-implementation (quote url-el)))) + +(global-set-key (kbd "C-x p i") 'org-cliplink) + +(defun rc/cliplink-task () + (interactive) + (org-cliplink-retrieve-title + (substring-no-properties (current-kill 0)) + '(lambda (url title) + (insert (if title + (concat "* TODO " title + "\n [[" url "][" title "]]") + (concat "* TODO " url + "\n [[" url "]]")))))) +(global-set-key (kbd "C-x p t") 'rc/cliplink-task) diff --git a/.emacs.rc/org-mode-rc.el b/.emacs.rc/org-mode-rc.el new file mode 100644 index 0000000..c0170f8 --- /dev/null +++ b/.emacs.rc/org-mode-rc.el @@ -0,0 +1,59 @@ +(global-set-key (kbd "C-x a") 'org-agenda) +(global-set-key (kbd "C-c C-x j") #'org-clock-jump-to-current-clock) + +(setq org-agenda-files (list "~/Documents/Agenda/")) + +(setq org-export-backends '(md)) + +(custom-set-variables + '(org-modules + (quote + (org-bbdb + org-bibtex + org-docview + org-gnus + org-habit + org-info + org-irc + org-mhe + org-rmail + org-w3m))) + '(org-enforce-todo-dependencies nil) + '(org-agenda-dim-blocked-tasks nil) + '(org-agenda-exporter-settings + (quote ((org-agenda-tag-filter-preset (list "+personal"))))) + '(org-refile-use-outline-path (quote file))) + +(defun rc/org-increment-move-counter () + (interactive) + + (defun default (x d) + (if x x d)) + + (let* ((point (point)) + (move-counter-name "MOVE_COUNTER") + (move-counter-value (-> (org-entry-get point move-counter-name) + (default "0") + (string-to-number) + (1+)))) + (org-entry-put point move-counter-name + (number-to-string move-counter-value))) + nil) + +(defun rc/org-get-heading-name () + (nth 4 (org-heading-components))) + +(defun rc/org-kill-heading-name-save () + (interactive) + (let ((heading-name (rc/org-get-heading-name))) + (kill-new heading-name) + (message "Kill \"%s\"" heading-name))) + +(global-set-key (kbd "C-x p w") 'rc/org-kill-heading-name-save) + +(setq org-agenda-custom-commands + '(("u" "Unscheduled" tags "+personal-SCHEDULED={.+}-DEADLINE={.+}/!+TODO" + ((org-agenda-sorting-strategy '(priority-down)))) + ("p" "Personal" ((agenda "" ((org-agenda-tag-filter-preset (list "+personal")))))) + ("w" "Work" ((agenda "" ((org-agenda-tag-filter-preset (list "+work")))))) + )) diff --git a/.emacs.rc/paredit-rc.el b/.emacs.rc/paredit-rc.el new file mode 100644 index 0000000..75283b8 --- /dev/null +++ b/.emacs.rc/paredit-rc.el @@ -0,0 +1,12 @@ +(rc/require 'paredit) + +(defun rc/turn-on-paredit () + (interactive) + (paredit-mode 1)) + +(add-hook 'emacs-lisp-mode-hook 'rc/turn-on-paredit) +(add-hook 'clojure-mode-hook 'rc/turn-on-paredit) +(add-hook 'lisp-mode-hook 'rc/turn-on-paredit) +(add-hook 'common-lisp-mode-hook 'rc/turn-on-paredit) +(add-hook 'scheme-mode-hook 'rc/turn-on-paredit) +(add-hook 'racket-mode-hook 'rc/turn-on-paredit) diff --git a/.emacs.rc/powershell-rc.el b/.emacs.rc/powershell-rc.el new file mode 100644 index 0000000..6c1a3b9 --- /dev/null +++ b/.emacs.rc/powershell-rc.el @@ -0,0 +1,3 @@ +(rc/require 'powershell) +(add-to-list 'auto-mode-alist '("\\.ps1\\'" . powershell-mode)) +(add-to-list 'auto-mode-alist '("\\.psm1\\'" . powershell-mode)) diff --git a/.emacs.rc/rainbow-rc.el b/.emacs.rc/rainbow-rc.el new file mode 100644 index 0000000..58fc8e5 --- /dev/null +++ b/.emacs.rc/rainbow-rc.el @@ -0,0 +1,12 @@ +(rc/require 'rainbow-mode) + +(defun rc/turn-on-rainbow-mode () + (interactive) + (rainbow-mode 1)) + +(add-hook 'html-mode-hook 'rc/turn-on-rainbow-mode) +(add-hook 'css-mode-hook 'rc/turn-on-rainbow-mode) +(add-hook 'js-mode-hook 'rc/turn-on-rainbow-mode) +(add-hook 'nxml-mode-hook 'rc/turn-on-rainbow-mode) +(add-hook 'conf-xdefaults-mode-hook 'rc/turn-on-rainbow-mode) +(add-hook 'typescript-mode-hook 'rc/turn-on-rainbow-mode) diff --git a/.emacs.rc/rc.el b/.emacs.rc/rc.el new file mode 100644 index 0000000..8c47d05 --- /dev/null +++ b/.emacs.rc/rc.el @@ -0,0 +1,68 @@ +(add-to-list 'package-archives + '("melpa" . "https://melpa.org/packages/") t) +;; (add-to-list 'package-archives +;; '("melpa-stable" . "https://stable.melpa.org/packages/") t) + +(defvar rc/package-contents-refreshed nil) +(defvar rc/required-packages nil) + +(defun rc/package-refresh-contents-once () + (when (not rc/package-contents-refreshed) + (setq rc/package-contents-refreshed t) + (package-refresh-contents))) + +(defun rc/require-one-package (package) + (push package rc/required-packages) + (when (not (package-installed-p package)) + (rc/package-refresh-contents-once) + (package-install package))) + +(defun rc/require (&rest packages) + (dolist (package packages) + (rc/require-one-package package))) + +(defun rc/require-theme (theme) + (let ((theme-package (->> theme + (symbol-name) + (funcall (-flip #'concat) "-theme") + (intern)))) + (rc/require theme-package) + (load-theme theme t))) + +(rc/require 'dash) +(require 'dash) + +(rc/require 'dash-functional) +(require 'dash-functional) + +(defun rc/package-reqs (package) + (let ((package-desc + (->> package-alist + (alist-get package) + (car)))) + (when package-desc + (package-desc-reqs package-desc)))) + +(defun rc/package-dependencies (package) + (->> package + (rc/package-reqs) + (-map #'car) + (cons package))) + +(defun rc/package-expand-dependencies (packages) + (->> packages + (-map #'rc/package-dependencies) + (-flatten) + (remove-duplicates))) + +(defun rc/unused-packages () + (let ((all-package (rc/package-expand-dependencies rc/required-packages))) + (->> package-alist + (-map #'car) + (-filter (-lambda (package) + (not (-contains? all-package package))))))) + +(defun rc/remove-unused-packages () + (interactive) + (message "Unused packages: %s" (rc/unused-packages))) + diff --git a/.emacs.rc/recentf-mode-rc.el b/.emacs.rc/recentf-mode-rc.el new file mode 100644 index 0000000..ca581a8 --- /dev/null +++ b/.emacs.rc/recentf-mode-rc.el @@ -0,0 +1,3 @@ +(require 'recentf) +(recentf-mode 1) +(setq recentf-max-menu-items 25) diff --git a/.emacs.rc/tide-rc.el b/.emacs.rc/tide-rc.el new file mode 100644 index 0000000..274439a --- /dev/null +++ b/.emacs.rc/tide-rc.el @@ -0,0 +1,7 @@ +(rc/require 'tide) + +(defun rc/turn-on-tide () + (interactive) + (tide-setup)) + +(add-hook 'typescript-mode-hook 'rc/turn-on-tide) diff --git a/.emacs.rc/tramp-rc.el b/.emacs.rc/tramp-rc.el new file mode 100644 index 0000000..0290461 --- /dev/null +++ b/.emacs.rc/tramp-rc.el @@ -0,0 +1,2 @@ +;;; http://stackoverflow.com/questions/13794433/how-to-disable-autosave-for-tramp-buffers-in-emacs +(setq tramp-auto-save-directory "/tmp") diff --git a/.emacs.rc/whitespace-mode-rc.el b/.emacs.rc/whitespace-mode-rc.el new file mode 100644 index 0000000..b82e188 --- /dev/null +++ b/.emacs.rc/whitespace-mode-rc.el @@ -0,0 +1,32 @@ +(defun rc/set-up-whitespace-handling () + (interactive) + (whitespace-mode 1) + (add-to-list 'write-file-functions 'delete-trailing-whitespace)) + +(custom-set-variables + '(whitespace-style (quote (face tabs spaces trailing space-before-tab + newline indentation empty space-after-tab + space-mark tab-mark)))) + +(let ((whitespace-enabled-modes + '( + tuareg-mode-hook + c++-mode-hook + c-mode-hook + emacs-lisp-mode + java-mode-hook + lua-mode-hook + rust-mode-hook + scala-mode-hook + markdown-mode-hook + js2-mode-hook + haskell-mode-hook + python-mode-hook + erlang-mode-hook + asm-mode-hook + nasm-mode-hook + go-mode-hook + nim-mode-hook + ))) + (dolist (mode whitespace-enabled-modes) + (add-hook mode 'rc/set-up-whitespace-handling))) diff --git a/.emacs.rc/word-wrap-rc.el b/.emacs.rc/word-wrap-rc.el new file mode 100644 index 0000000..eadf6d7 --- /dev/null +++ b/.emacs.rc/word-wrap-rc.el @@ -0,0 +1,6 @@ +(defun rc/enable-word-wrap () + (interactive) + (toggle-word-wrap 1)) + +(add-hook 'markdown-mode-hook 'rc/enable-word-wrap) + diff --git a/.emacs.rc/yasnippet-rc.el b/.emacs.rc/yasnippet-rc.el new file mode 100644 index 0000000..d4a3c47 --- /dev/null +++ b/.emacs.rc/yasnippet-rc.el @@ -0,0 +1,8 @@ +(rc/require 'yasnippet) + +(require 'yasnippet) + +(setq yas/triggers-in-field nil) +(setq yas-snippet-dirs '("~/.emacs.snippets/")) + +(yas-global-mode 1) diff --git a/.emacs.snippets/c++-mode/.yas-parents b/.emacs.snippets/c++-mode/.yas-parents new file mode 100644 index 0000000..cd49161 --- /dev/null +++ b/.emacs.snippets/c++-mode/.yas-parents @@ -0,0 +1 @@ +c-mode \ No newline at end of file diff --git a/.emacs.snippets/c++-mode/catch b/.emacs.snippets/c++-mode/catch new file mode 100644 index 0000000..7f4744d --- /dev/null +++ b/.emacs.snippets/c++-mode/catch @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: catch (...) { ... } +# key: catch +# -- +catch ($1) { +$0 +} \ No newline at end of file diff --git a/.emacs.snippets/c++-mode/fore b/.emacs.snippets/c++-mode/fore new file mode 100644 index 0000000..d78601b --- /dev/null +++ b/.emacs.snippets/c++-mode/fore @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: for (...: ...) { ... } +# key: fore +# -- +for ($1: $2) { +$0 +} \ No newline at end of file diff --git a/.emacs.snippets/c++-mode/ns b/.emacs.snippets/c++-mode/ns new file mode 100644 index 0000000..48529f2 --- /dev/null +++ b/.emacs.snippets/c++-mode/ns @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: namespace Namespace +# key: ns +# -- +namespace ${1:Namespace} { +$0 +} // namespace $1 \ No newline at end of file diff --git a/.emacs.snippets/c++-mode/once b/.emacs.snippets/c++-mode/once new file mode 100644 index 0000000..c54b47e --- /dev/null +++ b/.emacs.snippets/c++-mode/once @@ -0,0 +1,10 @@ +# -*- mode: snippet -*- +# name: #ifndef XXX; #define XXX; #endif +# key: once +# -- +#ifndef ${1:`(upcase (replace-regexp-in-string "\\." "_" (file-name-nondirectory (buffer-file-name))))`_} +#define $1 + +$0 + +#endif // $1 \ No newline at end of file diff --git a/.emacs.snippets/c++-mode/qdebug b/.emacs.snippets/c++-mode/qdebug new file mode 100644 index 0000000..1d427f7 --- /dev/null +++ b/.emacs.snippets/c++-mode/qdebug @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: qdebug +# key: qdebug +# -- +qDebug() << "----------------------------------------"; +qDebug() << "$0"; +qDebug() << "----------------------------------------"; \ No newline at end of file diff --git a/.emacs.snippets/c++-mode/try b/.emacs.snippets/c++-mode/try new file mode 100644 index 0000000..6991f11 --- /dev/null +++ b/.emacs.snippets/c++-mode/try @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: try { ... } +# key: try +# -- +try { +$0 +} \ No newline at end of file diff --git a/.emacs.snippets/c++-mode/uns b/.emacs.snippets/c++-mode/uns new file mode 100644 index 0000000..8c7db5b --- /dev/null +++ b/.emacs.snippets/c++-mode/uns @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: using namespace std; +# key: uns +# -- +using namespace std; \ No newline at end of file diff --git a/.emacs.snippets/c++-mode/vec b/.emacs.snippets/c++-mode/vec new file mode 100644 index 0000000..f414f06 --- /dev/null +++ b/.emacs.snippets/c++-mode/vec @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: std::vector +# key: vec +# -- +std::vector<$1> $2;$0 \ No newline at end of file diff --git a/.emacs.snippets/c-like-syntax/block b/.emacs.snippets/c-like-syntax/block new file mode 100644 index 0000000..95661e8 --- /dev/null +++ b/.emacs.snippets/c-like-syntax/block @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: { ... } +# key: { +# -- +{ +$0 +} \ No newline at end of file diff --git a/.emacs.snippets/c-like-syntax/elif b/.emacs.snippets/c-like-syntax/elif new file mode 100644 index 0000000..842e9fa --- /dev/null +++ b/.emacs.snippets/c-like-syntax/elif @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: else if (...) { ... } +# key: elif +# -- +else if (${1:condition}) { +$0 +} \ No newline at end of file diff --git a/.emacs.snippets/c-like-syntax/else b/.emacs.snippets/c-like-syntax/else new file mode 100644 index 0000000..ed256b4 --- /dev/null +++ b/.emacs.snippets/c-like-syntax/else @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: else { ... } +# key: else +# -- +else { +$0 +} \ No newline at end of file diff --git a/.emacs.snippets/c-like-syntax/for b/.emacs.snippets/c-like-syntax/for new file mode 100644 index 0000000..ec70b51 --- /dev/null +++ b/.emacs.snippets/c-like-syntax/for @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: for (...; ...; ...) { ... } +# key: for +# -- +for (${1:init}; ${2:condition}; ${3:increment}) { +$0 +} \ No newline at end of file diff --git a/.emacs.snippets/c-like-syntax/if b/.emacs.snippets/c-like-syntax/if new file mode 100644 index 0000000..cde6dd3 --- /dev/null +++ b/.emacs.snippets/c-like-syntax/if @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: if (...) { ... } +# key: if +# -- +if (${1:condition}) { +$0 +} \ No newline at end of file diff --git a/.emacs.snippets/c-like-syntax/while b/.emacs.snippets/c-like-syntax/while new file mode 100644 index 0000000..33097eb --- /dev/null +++ b/.emacs.snippets/c-like-syntax/while @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: while (...) { ... } +# key: while +# -- +while (${1:condition}) { +$0 +} \ No newline at end of file diff --git a/.emacs.snippets/c-mode/.yas-parents b/.emacs.snippets/c-mode/.yas-parents new file mode 100644 index 0000000..d927521 --- /dev/null +++ b/.emacs.snippets/c-mode/.yas-parents @@ -0,0 +1 @@ +c-like-syntax \ No newline at end of file diff --git a/.emacs.snippets/c-mode/inc b/.emacs.snippets/c-mode/inc new file mode 100644 index 0000000..ce7431a --- /dev/null +++ b/.emacs.snippets/c-mode/inc @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: #include <...> +# key: inc +# -- +#include <$0> \ No newline at end of file diff --git a/.emacs.snippets/c-mode/incq b/.emacs.snippets/c-mode/incq new file mode 100644 index 0000000..5c91955 --- /dev/null +++ b/.emacs.snippets/c-mode/incq @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: #include "..." +# key: incq +# -- +#include "$0" \ No newline at end of file diff --git a/.emacs.snippets/c-mode/main b/.emacs.snippets/c-mode/main new file mode 100644 index 0000000..9cf10cd --- /dev/null +++ b/.emacs.snippets/c-mode/main @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: int main(argc, argv) { ... } +# key: main +# -- +int main(int argc, char *argv[]) +{ +$0 +return 0; +} \ No newline at end of file diff --git a/.emacs.snippets/css-mode/bg b/.emacs.snippets/css-mode/bg new file mode 100644 index 0000000..af38f31 --- /dev/null +++ b/.emacs.snippets/css-mode/bg @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: background-color: ... +# key: bg +# -- +background-color: #${1:DDD}; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/bgi b/.emacs.snippets/css-mode/bgi new file mode 100644 index 0000000..3e9e39b --- /dev/null +++ b/.emacs.snippets/css-mode/bgi @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: background-image: ... +# key: bgi +# -- +background-image: url($1); diff --git a/.emacs.snippets/css-mode/bor b/.emacs.snippets/css-mode/bor new file mode 100644 index 0000000..780979a --- /dev/null +++ b/.emacs.snippets/css-mode/bor @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: border size style color +# key: bor +# -- +border: ${1:1px} ${2:solid} #${3:999}; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/cl b/.emacs.snippets/css-mode/cl new file mode 100644 index 0000000..f4c5dd1 --- /dev/null +++ b/.emacs.snippets/css-mode/cl @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: clear: ... +# key: cl +# -- +clear: $1; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/dispb b/.emacs.snippets/css-mode/dispb new file mode 100644 index 0000000..4019241 --- /dev/null +++ b/.emacs.snippets/css-mode/dispb @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: display: block +# key: dispb +# -- +display: block; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/dispi b/.emacs.snippets/css-mode/dispi new file mode 100644 index 0000000..2aa3bbb --- /dev/null +++ b/.emacs.snippets/css-mode/dispi @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: display: inline +# key: dispi +# -- +display: inline; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/dispn b/.emacs.snippets/css-mode/dispn new file mode 100644 index 0000000..0e6d132 --- /dev/null +++ b/.emacs.snippets/css-mode/dispn @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: display: none +# key: dispn +# -- +display: none; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/ff b/.emacs.snippets/css-mode/ff new file mode 100644 index 0000000..c04faa5 --- /dev/null +++ b/.emacs.snippets/css-mode/ff @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: font-family: ... +# key: ff +# -- +font-family: $1; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/fs b/.emacs.snippets/css-mode/fs new file mode 100644 index 0000000..33498bb --- /dev/null +++ b/.emacs.snippets/css-mode/fs @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: font-size: ... +# key: fs +# -- +font-size: ${12px}; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/mar b/.emacs.snippets/css-mode/mar new file mode 100644 index 0000000..0e8ddaf --- /dev/null +++ b/.emacs.snippets/css-mode/mar @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: margin: ... +# key: mar +# -- +margin: $1; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/marb b/.emacs.snippets/css-mode/marb new file mode 100644 index 0000000..2ed557d --- /dev/null +++ b/.emacs.snippets/css-mode/marb @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: margin-bottom: ... +# key: marb +# -- +margin-bottom: $1; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/marl b/.emacs.snippets/css-mode/marl new file mode 100644 index 0000000..3e0a2d6 --- /dev/null +++ b/.emacs.snippets/css-mode/marl @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: margin-left: ... +# key: marl +# -- +margin-left: $1; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/marr b/.emacs.snippets/css-mode/marr new file mode 100644 index 0000000..dfc0336 --- /dev/null +++ b/.emacs.snippets/css-mode/marr @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: margin-right: ... +# key: marr +# -- +margin-right: $1; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/mart b/.emacs.snippets/css-mode/mart new file mode 100644 index 0000000..e17e451 --- /dev/null +++ b/.emacs.snippets/css-mode/mart @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: margin-top: ... +# key: mart +# -- +margin-top: $1; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/pad b/.emacs.snippets/css-mode/pad new file mode 100644 index 0000000..b40db05 --- /dev/null +++ b/.emacs.snippets/css-mode/pad @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: padding: ... +# key: pad +# -- +padding: $1; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/padb b/.emacs.snippets/css-mode/padb new file mode 100644 index 0000000..d537eed --- /dev/null +++ b/.emacs.snippets/css-mode/padb @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: padding-bottom: ... +# key: padb +# -- +padding-bottom: $1; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/padl b/.emacs.snippets/css-mode/padl new file mode 100644 index 0000000..0ade3f5 --- /dev/null +++ b/.emacs.snippets/css-mode/padl @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: padding-left: ... +# key: padl +# -- +padding-left: $1; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/padr b/.emacs.snippets/css-mode/padr new file mode 100644 index 0000000..73c140c --- /dev/null +++ b/.emacs.snippets/css-mode/padr @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: padding-right: ... +# key: padr +# -- +padding-right: $1; \ No newline at end of file diff --git a/.emacs.snippets/css-mode/padt b/.emacs.snippets/css-mode/padt new file mode 100644 index 0000000..526450d --- /dev/null +++ b/.emacs.snippets/css-mode/padt @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: padding-top: ... +# key: padt +# -- +padding-top: $1; \ No newline at end of file diff --git a/.emacs.snippets/d-mode/.yas-parents b/.emacs.snippets/d-mode/.yas-parents new file mode 100644 index 0000000..d927521 --- /dev/null +++ b/.emacs.snippets/d-mode/.yas-parents @@ -0,0 +1 @@ +c-like-syntax \ No newline at end of file diff --git a/.emacs.snippets/d-mode/imm b/.emacs.snippets/d-mode/imm new file mode 100644 index 0000000..7c71c19 --- /dev/null +++ b/.emacs.snippets/d-mode/imm @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: immutable +# key: imm +# -- +immutable $0 \ No newline at end of file diff --git a/.emacs.snippets/d-mode/import b/.emacs.snippets/d-mode/import new file mode 100644 index 0000000..cbcbfe3 --- /dev/null +++ b/.emacs.snippets/d-mode/import @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: import <...>; +# key: imp +# -- +import $0; \ No newline at end of file diff --git a/.emacs.snippets/emacs-lisp-mode/emacs-lisp-module b/.emacs.snippets/emacs-lisp-mode/emacs-lisp-module new file mode 100644 index 0000000..a18b637 --- /dev/null +++ b/.emacs.snippets/emacs-lisp-mode/emacs-lisp-module @@ -0,0 +1,42 @@ +# -*- mode: snippet -*- +# name: emacs lisp module skeleton +# key: emacs-lisp-module +# -- +;;; ${1:`(file-name-nondirectory (buffer-file-name))`} --- ${2:Package Description} -*- lexical-binding: t -*- + +;; Copyright (C) `(format-time-string "%Y" (current-time))` ${3:Alexey Kutepov } + +;; Author: $3 +;; URL: $4 + +;; Permission is hereby granted, free of charge, to any person +;; obtaining a copy of this software and associated documentation +;; files (the "Software"), to deal in the Software without +;; restriction, including without limitation the rights to use, copy, +;; modify, merge, publish, distribute, sublicense, and/or sell copies +;; of the Software, and to permit persons to whom the Software is +;; furnished to do so, subject to the following conditions: + +;; The above copyright notice and this permission notice shall be +;; included in all copies or substantial portions of the Software. + +;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +;; BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +;; ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +;; CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +;; SOFTWARE. + +;;; Commentary: + +;; $5 + +;;; Code: + +$0 + +(provide '${6:`(file-name-sans-extension (file-name-nondirectory (buffer-file-name)))`}) + +;;; $1 ends here \ No newline at end of file diff --git a/.emacs.snippets/emacs-lisp-mode/pacmacs-module b/.emacs.snippets/emacs-lisp-mode/pacmacs-module new file mode 100644 index 0000000..a04a9a1 --- /dev/null +++ b/.emacs.snippets/emacs-lisp-mode/pacmacs-module @@ -0,0 +1,41 @@ +# -*- mode: snippet -*- +# name: pacmacs module skeleton +# key: pacmacs-module +# -- +;;; ${1:`(file-name-nondirectory (buffer-file-name))`} --- Pacman for Emacs -*- lexical-binding: t -*- + +;; Copyright (C) `(format-time-string "%Y" (current-time))` Codingteam + +;; Author: Codingteam +;; Maintainer: Alexey Kutepov +;; URL: http://github.com/rexim/pacmacs.el + +;; Permission is hereby granted, free of charge, to any person +;; obtaining a copy of this software and associated documentation +;; files (the "Software"), to deal in the Software without +;; restriction, including without limitation the rights to use, copy, +;; modify, merge, publish, distribute, sublicense, and/or sell copies +;; of the Software, and to permit persons to whom the Software is +;; furnished to do so, subject to the following conditions: + +;; The above copyright notice and this permission notice shall be +;; included in all copies or substantial portions of the Software. + +;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +;; BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +;; ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +;; CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +;; SOFTWARE. + +;;; Commentary: + +;; $2 + +;;; Code: + +$0 + +;;; $1 ends here \ No newline at end of file diff --git a/.emacs.snippets/fan-mode/.yas-parents b/.emacs.snippets/fan-mode/.yas-parents new file mode 100644 index 0000000..d927521 --- /dev/null +++ b/.emacs.snippets/fan-mode/.yas-parents @@ -0,0 +1 @@ +c-like-syntax \ No newline at end of file diff --git a/.emacs.snippets/java-mode/.yas-parents b/.emacs.snippets/java-mode/.yas-parents new file mode 100644 index 0000000..d927521 --- /dev/null +++ b/.emacs.snippets/java-mode/.yas-parents @@ -0,0 +1 @@ +c-like-syntax \ No newline at end of file diff --git a/.emacs.snippets/java-mode/ps b/.emacs.snippets/java-mode/ps new file mode 100644 index 0000000..19834c2 --- /dev/null +++ b/.emacs.snippets/java-mode/ps @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: public static +# key: ps +# -- +public static \ No newline at end of file diff --git a/.emacs.snippets/java-mode/psv b/.emacs.snippets/java-mode/psv new file mode 100644 index 0000000..ae30d38 --- /dev/null +++ b/.emacs.snippets/java-mode/psv @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: public static void +# key: psv +# -- +public static void \ No newline at end of file diff --git a/.emacs.snippets/js-mode/.yas-parents b/.emacs.snippets/js-mode/.yas-parents new file mode 100644 index 0000000..d927521 --- /dev/null +++ b/.emacs.snippets/js-mode/.yas-parents @@ -0,0 +1 @@ +c-like-syntax \ No newline at end of file diff --git a/.emacs.snippets/js-mode/item b/.emacs.snippets/js-mode/item new file mode 100644 index 0000000..88d5813 --- /dev/null +++ b/.emacs.snippets/js-mode/item @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: item +# key: item +# -- +${1:Item} { +$0 +} // $1 \ No newline at end of file diff --git a/.emacs.snippets/latex-mode/begin b/.emacs.snippets/latex-mode/begin new file mode 100644 index 0000000..4ddab25 --- /dev/null +++ b/.emacs.snippets/latex-mode/begin @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: \begin{environment} ... \end{environment} +# key: begin +# -- +\begin{${1:environment}} +$0 +\end{$1} \ No newline at end of file diff --git a/.emacs.snippets/markdown-mode/todo b/.emacs.snippets/markdown-mode/todo new file mode 100644 index 0000000..f1aa870 --- /dev/null +++ b/.emacs.snippets/markdown-mode/todo @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: todo +# key: todo +# type: command +# binding: C-x t +# -- +(if (region-active-p) + (yas-expand-snippet "`yas-selected-text`") + (yas-expand-snippet "")) \ No newline at end of file diff --git a/.emacs.snippets/nix-mode/.yas-parents b/.emacs.snippets/nix-mode/.yas-parents new file mode 100644 index 0000000..d927521 --- /dev/null +++ b/.emacs.snippets/nix-mode/.yas-parents @@ -0,0 +1 @@ +c-like-syntax \ No newline at end of file diff --git a/.emacs.snippets/nxml-mode/body b/.emacs.snippets/nxml-mode/body new file mode 100644 index 0000000..1fceda3 --- /dev/null +++ b/.emacs.snippets/nxml-mode/body @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: ... +# key: body +# -- + +$0 + \ No newline at end of file diff --git a/.emacs.snippets/nxml-mode/div b/.emacs.snippets/nxml-mode/div new file mode 100644 index 0000000..9234e58 --- /dev/null +++ b/.emacs.snippets/nxml-mode/div @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name:
\n...\n
+# key: div +# -- +
+$0 +
\ No newline at end of file diff --git a/.emacs.snippets/nxml-mode/head b/.emacs.snippets/nxml-mode/head new file mode 100644 index 0000000..0b16f2b --- /dev/null +++ b/.emacs.snippets/nxml-mode/head @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: ... +# key: head +# -- + +$0 + \ No newline at end of file diff --git a/.emacs.snippets/nxml-mode/html b/.emacs.snippets/nxml-mode/html new file mode 100644 index 0000000..f6d9fd4 --- /dev/null +++ b/.emacs.snippets/nxml-mode/html @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: ... +# key: html +# -- + +$0 + \ No newline at end of file diff --git a/.emacs.snippets/nxml-mode/link b/.emacs.snippets/nxml-mode/link new file mode 100644 index 0000000..e9ddd6f --- /dev/null +++ b/.emacs.snippets/nxml-mode/link @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: +# key: link +# -- + \ No newline at end of file diff --git a/.emacs.snippets/nxml-mode/meta b/.emacs.snippets/nxml-mode/meta new file mode 100644 index 0000000..1434071 --- /dev/null +++ b/.emacs.snippets/nxml-mode/meta @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: +# key: meta +# -- + \ No newline at end of file diff --git a/.emacs.snippets/nxml-mode/pom b/.emacs.snippets/nxml-mode/pom new file mode 100644 index 0000000..c1435f2 --- /dev/null +++ b/.emacs.snippets/nxml-mode/pom @@ -0,0 +1,17 @@ +# -*- mode: snippet -*- +# name: ... +# key: pom +# -- + + 4.0.0 + ${1:me.rexim} + ${2:artifactId} + ${3:0.0.1-SNAPSHOT} + + + UTF-8 + + diff --git a/.emacs.snippets/nxml-mode/script b/.emacs.snippets/nxml-mode/script new file mode 100644 index 0000000..482c809 --- /dev/null +++ b/.emacs.snippets/nxml-mode/script @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: \ No newline at end of file diff --git a/.emacs.snippets/nxml-mode/span b/.emacs.snippets/nxml-mode/span new file mode 100644 index 0000000..60c78e2 --- /dev/null +++ b/.emacs.snippets/nxml-mode/span @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: \n...\n +# key: span +# -- +$0 \ No newline at end of file diff --git a/.emacs.snippets/nxml-mode/tag b/.emacs.snippets/nxml-mode/tag new file mode 100644 index 0000000..d555e34 --- /dev/null +++ b/.emacs.snippets/nxml-mode/tag @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: \n...\n +# key: tag +# -- +<${1:tag}$2> +$0 + \ No newline at end of file diff --git a/.emacs.snippets/nxml-mode/tag.1 b/.emacs.snippets/nxml-mode/tag.1 new file mode 100644 index 0000000..fd979eb --- /dev/null +++ b/.emacs.snippets/nxml-mode/tag.1 @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: ... +# key: tag +# -- +<${1:tag}$2>$0 \ No newline at end of file diff --git a/.emacs.snippets/nxml-mode/tag.2 b/.emacs.snippets/nxml-mode/tag.2 new file mode 100644 index 0000000..89c664a --- /dev/null +++ b/.emacs.snippets/nxml-mode/tag.2 @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: +# key: tag +# -- +<${1:tag} $2/>$0 \ No newline at end of file diff --git a/.emacs.snippets/nxml-mode/title b/.emacs.snippets/nxml-mode/title new file mode 100644 index 0000000..0a80a54 --- /dev/null +++ b/.emacs.snippets/nxml-mode/title @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: ... +# key: title +# -- +$0 \ No newline at end of file diff --git a/.emacs.snippets/nxml-mode/xml b/.emacs.snippets/nxml-mode/xml new file mode 100644 index 0000000..60d0f1d --- /dev/null +++ b/.emacs.snippets/nxml-mode/xml @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: +# key: xml +# -- + \ No newline at end of file diff --git a/.emacs.snippets/org-mode/pomo b/.emacs.snippets/org-mode/pomo new file mode 100644 index 0000000..e05b643 --- /dev/null +++ b/.emacs.snippets/org-mode/pomo @@ -0,0 +1,43 @@ +# -*- mode: snippet -*- +# name: pomo table +# key: pomo +# -- +|-------+-------+----------| +| start | type | duration | +|-------+-------+----------| +| | work | 20m | +| | break | 10m | +| | work | 20m | +| | break | 10m | +| | work | 20m | +| | break | 10m | +| | work | 20m | +| | break | 20m | +|-------+-------+----------| +| | work | 20m | +| | break | 10m | +| | work | 20m | +| | break | 10m | +| | work | 20m | +| | break | 10m | +| | work | 20m | +| | break | 20m | +|-------+-------+----------| +| | work | 20m | +| | break | 10m | +| | work | 20m | +| | break | 10m | +| | work | 20m | +| | break | 10m | +| | work | 20m | +| | break | 20m | +|-------+-------+----------| +| | work | 20m | +| | break | 10m | +| | work | 20m | +| | break | 10m | +| | work | 20m | +| | break | 10m | +| | work | 20m | +| | break | 20m | +|-------+-------+----------| diff --git a/.emacs.snippets/perl-mode/.yas-parents b/.emacs.snippets/perl-mode/.yas-parents new file mode 100644 index 0000000..d927521 --- /dev/null +++ b/.emacs.snippets/perl-mode/.yas-parents @@ -0,0 +1 @@ +c-like-syntax \ No newline at end of file diff --git a/.emacs.snippets/perl-mode/fore b/.emacs.snippets/perl-mode/fore new file mode 100644 index 0000000..319ab36 --- /dev/null +++ b/.emacs.snippets/perl-mode/fore @@ -0,0 +1,7 @@ +# -*- mode: snippet -*- +# name: foreach (...) { ... } +# key: fore +# -- +foreach ($1) { +$0 +} \ No newline at end of file diff --git a/.emacs.snippets/rust-mode/.yas-parents b/.emacs.snippets/rust-mode/.yas-parents new file mode 100644 index 0000000..d927521 --- /dev/null +++ b/.emacs.snippets/rust-mode/.yas-parents @@ -0,0 +1 @@ +c-like-syntax \ No newline at end of file diff --git a/.emacs.snippets/scala-mode/.yas-parents b/.emacs.snippets/scala-mode/.yas-parents new file mode 100644 index 0000000..d927521 --- /dev/null +++ b/.emacs.snippets/scala-mode/.yas-parents @@ -0,0 +1 @@ +c-like-syntax \ No newline at end of file diff --git a/.emacs.snippets/snippet-mode/snip b/.emacs.snippets/snippet-mode/snip new file mode 100644 index 0000000..94524d1 --- /dev/null +++ b/.emacs.snippets/snippet-mode/snip @@ -0,0 +1,9 @@ +# -*- mode: snippet -*- +# name: snippet snippet +# key: snip +# -- +# -*- mode: snippet -*- +# name: $1 +# key: ${2:`(file-name-nondirectory (file-name-sans-extension (buffer-file-name)))`} +# -- +$0 \ No newline at end of file diff --git a/.emacs.snippets/typescript-mode/.yas-parents b/.emacs.snippets/typescript-mode/.yas-parents new file mode 100644 index 0000000..d927521 --- /dev/null +++ b/.emacs.snippets/typescript-mode/.yas-parents @@ -0,0 +1 @@ +c-like-syntax \ No newline at end of file diff --git a/.ghci b/.ghci new file mode 100644 index 0000000..045720e --- /dev/null +++ b/.ghci @@ -0,0 +1,2 @@ +:set prompt "\ESC[1;34m%s\n\ESC[0;34mλ> \ESC[m" +:set -XOverloadedStrings diff --git a/.tmux.conf b/.tmux.conf new file mode 100644 index 0000000..184831e --- /dev/null +++ b/.tmux.conf @@ -0,0 +1,3 @@ +unbind C-b +set -g prefix C-x +bind C-x send-prefix \ No newline at end of file