diff options
71 files changed, 207 insertions, 1738 deletions
@@ -24,4 +24,5 @@ pcache eln-cache/ projects bookmarks -tree-sitter
\ No newline at end of file +tree-sitter +custom.el
\ No newline at end of file @@ -1,7 +0,0 @@ -# Emacs Configuration - -Most of the configuration should be automatically handled upon startup. However, there are a few third part programs which are required as follows: - -- -- -- diff --git a/custom.el b/custom.el deleted file mode 100644 index 80e6d8c..0000000 --- a/custom.el +++ /dev/null @@ -1,29 +0,0 @@ -;; reserved for all local customization added by emacs -;; do not modify -(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. - '(auto-insert-directory (locate-user-emacs-file "templates/auto-insert")) - '(c-default-style "linux") - '(custom-safe-themes - '("8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" "3c83b3676d796422704082049fc38b6966bcad960f896669dfc21a7a37a748fa" default)) - '(flycheck-display-errors-function #'flycheck-pos-tip-error-messages) - '(package-selected-packages - '(unicode-fonts mu4e-marker-icons all-the-icons org-mime swift-playground-mode swift-mode ccls which-key company-emoji lsp-dart dart-server dart-mode flutter emojify auctex flycheck-aspell elixir-mode add-node-modules-path prettier-js prettier hasklig-mode jq-mode uuidgen restclient erlang rust-mode flymake-go go-mode gradle-mode treemacs-projectile treemacs protobuf-mode yaml-mode web-mode visual-regexp-steroids systemd solarized-theme smart-mode-line slime purescript-mode projectile-ripgrep play-routes-mode paredit org-bullets multiple-cursors modern-cpp-font-lock magit lsp-ui ido-vertical-mode highlight-escape-sequences flycheck-pos-tip flycheck-haskell flycheck-clojure flycheck-clangcheck flx-ido ensime ember-mode elm-mode dockerfile-mode cquery company-lsp company-glsl company-c-headers cmake-mode clojure-snippets clojure-mode-extra-font-locking ace-window)) - '(safe-local-variable-values '((projectile-project-run-cmd . "./build/jmessageGtk")))) -(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. - '(default ((t (:height 90 :width normal :family "Source Code Pro Medium")))) - '(org-level-1 ((t (:inherit outline-1 :height 1.0)))) - '(org-level-2 ((t (:inherit outline-2 :height 1.0)))) - '(org-level-3 ((t (:inherit outline-3 :height 1.0)))) - '(org-level-4 ((t (:inherit outline-4 :height 1.0)))) - '(org-level-5 ((t (:inherit outline-5 :height 1.0))))) -(require 'setup-custom) -(provide 'custom) -;;; custom.el ends here @@ -7,7 +7,6 @@ ;;; Commentary: -;;; This config builds an instance of Emacs personalized for its author. ;;; A few things of interest: ;;; 1. C-x C-c is overriden in the GUI so it redirects to the default ;;; *ansi-term* buffer. If you wish for this override while using @@ -22,181 +21,210 @@ ;;; GPG_AGENT_INFO ;;; ;;; Code: -;; Suppress splash screen - -;; Are we on a mac? -(setq is-mac (equal system-type 'darwin)) -(setq create-lockfiles nil) -;; Added by Package.el. This must come before configurations of -;; installed packages. Don't delete this line. If you don't want it, -;; just comment it out by adding a semicolon to the start of the line. -;; You may delete these explanatory comments. +(setq inhibit-startup-message t) +(setq initial-scratch-message nil) + +(require 'package) (package-initialize) -(setq inhibit-startup-message t) - -(add-to-list 'load-path (expand-file-name "settings" user-emacs-directory)) -(add-to-list 'load-path (expand-file-name "utils" user-emacs-directory)) -(add-to-list 'load-path (expand-file-name "templates/auto-insert" user-emacs-directory)) - -(require 'setup-package) - -;; Write backup files to own directory -(setq backup-directory-alist - `(("." . ,(expand-file-name - (concat user-emacs-directory "backups"))))) - -(defun init-install-packages() - (packages-install - '(ace-window - blacken - cargo - company - company-c-headers - company-glsl - company-terraform - clojure-mode - clojure-mode-extra-font-locking - clojure-snippets - cmake-mode - csv-mode - cquery - dash - dap-mode - dart-mode - dockerfile-mode - elm-mode - emojify - erlang - exec-path-from-shell - flutter - flx-ido - flycheck - flycheck-clangcheck - flycheck-clojure - flycheck-haskell - flycheck-pos-tip - go-mode - highlight-escape-sequences - hl-todo - ido-vertical-mode - jinja2-mode - json - just-mode - lsp-dart - lsp-haskell - lsp-mode - lsp-ui - magit - markdown-mode - modern-cpp-font-lock - mu4e-alert - multiple-cursors - nasm-mode - nginx-mode - paredit - pass - play-routes-mode - projectile - projectile-ripgrep - protobuf-mode - purescript-mode - pyvenv - rainbow-mode - restclient - rustic - rust-playground - sbt-mode - slime - smart-mode-line - solarized-theme - swift-mode - systemd - terraform-mode - treemacs - treemacs-projectile - tuareg - typescript-mode - uuidgen - visual-regexp - visual-regexp-steroids - web-mode - which-key - yaml-mode - yasnippet))) - -(condition-case nil - (init-install-packages) - (error - (package-refresh-contents) - (init-install-packages))) - -(setq custom-file (expand-file-name "custom.el" user-emacs-directory)) -(load custom-file) - -;; Are we in gui or terminal? -(if (display-graphic-p) - ;; load the theme so we don't have a block of white for too long upon startup - (load-theme 'solarized-dark t)) - -(require 'visual-regexp) -(require 'visual-regexp-steroids) - -(require 'sane-defaults) - -(when is-mac - (require-package 'exec-path-from-shell) - (exec-path-from-shell-initialize)) - -(add-to-list 'exec-path "/usr/local/bin") - -(require 'setup-ace-window-mode) -(require 'setup-asm-mode) -(require 'setup-auto-insert-mode) -(require 'setup-avy-mode) -(require 'setup-c++-mode) -(require 'setup-clojure-mode) -(require 'setup-company-mode) -(require 'setup-dap-mode) -(require 'setup-dockerfile-mode) -(require 'setup-flycheck) -(require 'setup-go-mode) -(require 'setup-ido) -(require 'setup-keychain-environment) -(require 'setup-lisp-mode) -(require 'setup-lsp-mode) -(require 'setup-magit) -(require 'setup-markdown-mode) -;;(require 'setup-mu4e) -(require 'setup-multiple-cursors) -(require 'setup-org-mode) -(require 'setup-projectile-mode) -(require 'setup-protobuf-mode) -(require 'setup-purescript-mode) -(require 'setup-python-mode) -(require 'setup-rustic-mode) -(require 'setup-slime-mode) -(require 'setup-terraform-mode) -(require 'setup-treemacs) -(require 'setup-treesitter) -(require 'setup-typescript-mode) -(require 'setup-txt-mode) -(require 'setup-web-mode) -(require 'setup-yaml-mode) -(require 'setup-yasnippet) -(require '.yas-setup) - -;; enable pass as our auth source -(auth-source-pass-enable) - -;; utility globals -(require 'fetch-includes) -(exec-path-from-shell-initialize) - -;; full power -(put 'downcase-region 'disabled nil) -(put 'upcase-region 'disabled nil) -(put 'narrow-to-region 'disabled nil) - -(keychain-refresh-environment) -;;; init.el ends here +(add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/") t) +(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t) +(add-to-list 'package-archives '("melpa-stable" . "http://stable.melpa.org/packages/") t) + +(when (not (package-installed-p 'use-package)) (package-install 'use-package)) + +(use-package emacs + :init + (setq is-mac (equal system-type 'darwin)) + (setq enable-recursive-minibuffers t) + + (set-face-attribute 'default nil :font "Source Code Pro Medium" :height 90) + + (setq create-lockfiles nil) + (setq backup-directory-alist + `(("." . (expand-file-name + (concat user-emacs-directory "backups"))))) + (setq auto-save-file-name-transforms `((".*" ,temporary-file-directory t))) + + + ;; Custom load paths, files, and directories + (setq custom-file (expand-file-name "custom.el" user-emacs-directory)) + (setq templates-dir (expand-file-name "templates" user-emacs-directory)) + + ;; Can't fix everything for everyone... + (setq byte-compile-warnings '(not obsolete)) + (setq warning-suppress-log-types '((comp) (bytecomp))) + (setq native-comp-async-report-warnings-errors 'silent) + + (setq x-select-enable-clipboard t) + (setq dired-listing-switches "-lisah") + + (setq hl-line-mode 0) + (setq indent-tabs-mode nil) + + (when (fboundp 'menu-bar-mode) (menu-bar-mode -1)) + (when (fboundp 'tool-bar-mode) (tool-bar-mode -1)) + (when (fboundp 'scroll-bar-mode) (scroll-bar-mode -1)) + + (defalias 'yes-or-no-p 'y-or-n-p) + + (add-to-list 'load-path templates-dir) + + (load custom-file) + + :bind ( + ("C-x C-b" . ibuffer) + ("C--" . undo) + ("C-x C-d" . find-file)) + :hook ((prog-mode-hook . 'hl-todo-mode)) + + :config + ;; Override C-x C-c to open the default ansi-term buffer + (if (display-graphic-p) + (let ((ansi-buffer "*ansi-term*") + (quit-command "C-x C-c")) + (if (not (get-buffer ansi-buffer)) + (ansi-term "/bin/bash")) + (define-key global-map (kbd quit-command) + (lambda () (interactive) + (delete-other-windows) + (switch-to-buffer "*ansi-term*")))))) + +(use-package company + :ensure t + :init + (setq company-idle-delay 0.1) + (setq company-minimum-prefix-length 1) + :config + (add-to-list 'company-backends 'company-capf) + (global-company-mode)) + +(use-package consult + :ensure t + :bind ( + ("C-c l f" . consult-focus-lines) + ("C-c l s" . consult-ripgrep)) + :hook (completion-list-mode . consult-preview-at-point-mode)) + +(use-package embark + :ensure t + :bind (("C-c e ." . embark-act))) + +(use-package embark-consult + :ensure t + :hook (embark-collect-mode . consult-preview-at-point-mode)) + +(use-package keychain-environment + :ensure t + :config + (keychain-refresh-environment)) + +(use-package flycheck + :ensure t) + +(use-package lsp-mode + :ensure t + :commands lsp) + +(use-package magit + :ensure t + :bind ("C-x g" . magit-status)) + +(use-package marginalia + :ensure t + :bind (:map minibuffer-local-map + ("M-A" . marginalia-cycle)) + :init + (marginalia-mode)) + +(use-package multiple-cursors + :ensure t + :init + (setq mc/always-run-for-all t) + :bind (("C-c m i" . mc/insert-numbers) + ("C-c m l" . mc/edit-lines) + ("C-c m m" . mc/mark-all-like-this) + ("C-c m n" . mc/mark-next-like-this) + ("C-c m p" . mc/mark-previous-like-this) + ("C-c m r r" . mc/mark-all-in-region-regexp))) + +(use-package paredit + :ensure t + :hook + (lisp-mode . paredit-mode) + (emacs-lisp-mode . paredit-mode)) + +(use-package projectile + :ensure t + :init (projectile-mode +1) + :bind (("C-c p" . 'projectile-command-map) + ("C-c p s g" . 'projectile-ripgrep) + ("C-c p s r" . 'projectile-replace-regexp))) + +(use-package orderless + :ensure t + :custom + (completion-styles '(orderless basic)) + (completion-category-overrides'((file (styles basic partial-completion))))) + +(use-package rust-mode + :ensure t + :bind ((:map rust-mode-map + ("C-c C-c C-c" . rust-compile) + ("C-c C-c C-k" . rust-check) + ("C-c C-c C-t" . rust-test) + ("C-c C-c C-r" . rust-run))) + :init + (setq rust-format-on-save t) + :hook (rust-mode . lsp)) + +(use-package solarized-theme + :ensure t + :config + (load-theme 'solarized-dark t)) + +(use-package tree-sitter + :init + (setq treesit-language-source-alist + '((bash "https://github.com/tree-sitter/tree-sitter-bash") + (cmake "https://github.com/uyha/tree-sitter-cmake") + (css "https://github.com/tree-sitter/tree-sitter-css") + (elisp "https://github.com/Wilfred/tree-sitter-elisp") + (go "https://github.com/tree-sitter/tree-sitter-go") + (haskell "https://github.com/tree-sitter/tree-sitter-haskell.git") + (html "https://github.com/tree-sitter/tree-sitter-html") + (javascript "https://github.com/tree-sitter/tree-sitter-javascript" "master" "src") + (json "https://github.com/tree-sitter/tree-sitter-json") + (make "https://github.com/alemuller/tree-sitter-make") + (markdown "https://github.com/ikatyang/tree-sitter-markdown") + (python "https://github.com/tree-sitter/tree-sitter-python") + (rust "https://github.com/tree-sitter/tree-sitter-rust.git") + (toml "https://github.com/tree-sitter/tree-sitter-toml") + (tsx "https://github.com/tree-sitter/tree-sitter-typescript" "master" "tsx/src") + (typescript "https://github.com/tree-sitter/tree-sitter-typescript" "master" "typescript/src") + (yaml "https://github.com/ikatyang/tree-sitter-yaml"))) + :config + (require 'tree-sitter-langs) + (global-tree-sitter-mode) + ;; TODO: install if not exists... + :hook (tree-sitter-after-on-hook . tree-sitter-hl-mode)) + +(use-package undo-tree + :ensure t) + +(use-package vertico + :ensure t + :bind (:map vertico-map + ("C-d" . 'vertico-exit) + ("DEL" . 'vertico-directory-delete-char)) + :init + (vertico-mode) + :hook (rfn-eshadow-update-overlay-hook . vertico-directory-tidy) + :custom + (vertico-count 25) + (vertico-resize t)) + +(use-package which-key + :ensure t + :config + (which-key-mode 1)) diff --git a/settings/sane-defaults.el b/settings/sane-defaults.el deleted file mode 100644 index 204f939..0000000 --- a/settings/sane-defaults.el +++ /dev/null @@ -1,176 +0,0 @@ -;; Stolen from Magnars, with mods -;; https://github.com/magnars/.emacs.d/blob/master/settings/sane-defaults.el - -;; Allow pasting selection outside of Emacs -(setq x-select-enable-clipboard t) - -;; Auto refresh buffers -(global-auto-revert-mode 1) - -;; setup eval elisp -(define-key global-map (kbd "C-x C-e") 'eval-last-sexp) - -;; define browsers -(define-key global-map (kbd "C-x w") 'browse-url-emacs) -(define-key global-map (kbd "C-x M-w") 'browse-url-chromium) - -;; define wrappers -(global-set-key (kbd "M-[") 'insert-pair) -(global-set-key (kbd "M-{") 'insert-pair) -(global-set-key (kbd "M-\"") 'insert-pair) - -;; use mu4e by default -(global-set-key (kbd "C-x m") 'mu4e) - -;; use unix pass as our password store -(setq auth-sources '(password-store)) - -;; Also auto refresh dired, but be quiet about it -(setq global-auto-revert-non-file-buffers t) -(setq auto-revert-verbose nil) - -;; dired listing switches -(setq dired-listing-switches "-lisah") - -;; Show keystrokes in progress -(setq echo-keystrokes 0.1) - -;; Move files to trash when deleting -(setq delete-by-moving-to-trash t) - -;; Transparently open compressed files -(auto-compression-mode t) - -;; Enable todo mode everywhere -(add-hook 'prog-mode-hook #'hl-todo-mode) - -;; Answering just 'y' or 'n' will do -(defalias 'yes-or-no-p 'y-or-n-p) - -;; UTF-8 please -(setq locale-coding-system 'utf-8) ; pretty -(set-terminal-coding-system 'utf-8) ; pretty -(set-keyboard-coding-system 'utf-8) ; pretty -(set-selection-coding-system 'utf-8) ; please -(prefer-coding-system 'utf-8) ; with sugar on top - -;; Show active region -(transient-mark-mode 1) -(make-variable-buffer-local 'transient-mark-mode) -(put 'transient-mark-mode 'permanent-local t) -(setq-default transient-mark-mode t) - -;; Don't highlight matches with jump-char - it's distracting -(setq jump-char-lazy-highlight-face nil) - -;; Always display line and column numbers -(setq line-number-mode t) -(setq column-number-mode t) - -;; Lines should be 80 characters wide, not 72 -(setq fill-column 80) - -;; Save a list of recent files visited. (open recent file with C-x f) -(recentf-mode 1) -(setq recentf-max-saved-items 100) ;; just 20 is too recent - -;; Save minibuffer history -(savehist-mode 1) -(setq history-length 1000) - -;; Allow recursive minibuffers -(setq enable-recursive-minibuffers t) - -;; More memory than even Magnars...'cause the future keeps happening -;; 100 MB should be good -(setq gc-cons-threshold 100000000) - -;; warn when opening files bigger than 100MB -(setq large-file-warning-threshold 100000000) - -;; 80 chars is a good width. -(set-default 'fill-column 80) - -;; Add parts of each file's directory to the buffer name if not unique -(require 'uniquify) -(setq uniquify-buffer-name-style 'forward) - -(setq ediff-diff-options "-w") -(setq ediff-split-window-function 'split-window-horizontally) -(setq ediff-window-setup-function 'ediff-setup-windows-plain) - -;; Offer to create parent directories if they do not exist -;; http://iqbalansari.github.io/blog/2014/12/07/automatically-create-parent-directories-on-visiting-a-new-file-in-emacs/ -(defun my-create-non-existent-directory () - (let ((parent-directory (file-name-directory buffer-file-name))) - (when (and (not (file-exists-p parent-directory)) - (y-or-n-p (format "Directory `%s' does not exist! Create it?" parent-directory))) - (make-directory parent-directory t)))) - -(add-to-list 'find-file-not-found-functions 'my-create-non-existent-directory) - -(add-hook 'before-save-hook 'delete-trailing-whitespace) -(set-default-coding-systems 'utf-8) -(set-terminal-coding-system 'utf-8) -(set-keyboard-coding-system 'utf-8) -(setq default-buffer-file-coding-system 'utf-8) -(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING)) - -(prefer-coding-system 'utf-8) - -(global-set-key (kbd "C-x C-b") 'ibuffer) - -;; swap regexp search and regular search bindings -(global-set-key (kbd "C-s") 'vr/isearch-forward) -(global-set-key (kbd "C-r") 'vr/isearch-backward) -(global-set-key (kbd "C-M-s") 'isearch-forward) -(global-set-key (kbd "C-M-r") 'isearch-backward) - -;; replace en masse -(global-set-key (kbd "S-C-r") 'vr/replace) - -;; eval mode in region buffer -(global-set-key (kbd "C-c C-e") 'eval-last-sexp) - -;; undo should not need shift -(global-set-key (kbd "C--") 'undo) - -;; compilation commands -(global-set-key (kbd "C-x C-m C-c") 'compile) -(global-set-key (kbd "C-x C-m C-m") 'recompile) - - -;; copy/paste commands for linux -(global-set-key (kbd "s-c") 'clipboard-kill-region) -(global-set-key (kbd "s-v") 'clipboard-yank) - -(defun beautify-json () - (interactive) - (let ((b (if mark-active (min (point) (mark)) (point-min))) - (e (if mark-active (max (point) (mark)) (point-max)))) - (shell-command-on-region b e - "python -mjson.tool" (current-buffer) t))) - -;; Dired Settings -(setq dired-omit-mode t) - -;; which-key everywhere -(setq which-key-mode t) - -;; Override C-x C-c to open the default ansi-term buffer -;; 0. check if we are in GUI or user want to override behavior -;; 1. check if ansi-term buffer exists -;; 2. load that buffer if it does exist -;; 3. create and load that buffer if it does not, and delete other windows -(if (display-graphic-p) - (let ((ansi-buffer "*ansi-term*") - (quit-command "C-x C-c")) - (if (not (get-buffer ansi-buffer)) - (ansi-term "/bin/bash")) - (define-key global-map (kbd quit-command) - (lambda () (interactive) - (delete-other-windows) - (switch-to-buffer "*ansi-term*"))))) - -(provide 'sane-defaults) -;;; sane-defaults.el ends here diff --git a/settings/setup-ace-window-mode.el b/settings/setup-ace-window-mode.el deleted file mode 100644 index 4fd3558..0000000 --- a/settings/setup-ace-window-mode.el +++ /dev/null @@ -1,35 +0,0 @@ -;;; setup-ace-window-mode.el --- ace window mode config -*- lexical-binding: t; -*- - -;; Copyright (C) 2018 Benj Bellon - -;; Author: Benj Bellon -;; Keywords: lisp - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <http://www.gnu.org/licenses/>. - -;;; Commentary: - -;; basic config for ace window mode - -;;; Code: -(require 'ace-window) - -(global-set-key (kbd "C-x o") 'ace-window) -(global-set-key (kbd "C-x M-o") 'other-window) - -(setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)) - - -(provide 'setup-ace-window-mode) -;;; setup-ace-window-mode.el ends here diff --git a/settings/setup-asm-mode.el b/settings/setup-asm-mode.el deleted file mode 100644 index 4bae5cc..0000000 --- a/settings/setup-asm-mode.el +++ /dev/null @@ -1,7 +0,0 @@ -;;; Code: -(require 'nasm-mode) -(add-to-list 'auto-mode-alist '("\\.asm\\'" . nasm-mode)) - - -(provide 'setup-asm-mode) -;;; setup-asm-mode.el ends here diff --git a/settings/setup-auto-insert-mode.el b/settings/setup-auto-insert-mode.el deleted file mode 100644 index 68d444a..0000000 --- a/settings/setup-auto-insert-mode.el +++ /dev/null @@ -1,30 +0,0 @@ -(require 'autoinsert) - -(defun custom/expand-yasnippet () - "Replace with real stuff" - (yas-expand-snippet (buffer-string) (point-min) (point-max))) - -(custom-set-variables - '(auto-insert-directory (locate-user-emacs-file "templates/auto-insert"))) - -;; Activate globally -(auto-insert-mode) -(setq auto-insert-query nil) - -;; Some global auto-insert variables -(setq user-full-name "Benj Bellon" - user-email "benjaminbellon@gmail.com") - -;; C -(define-auto-insert "\\.c\\'" ["template.c" custom/expand-yasnippet]) -(define-auto-insert "\\.h\\'" ["template.h" custom/expand-yasnippet]) - -;; C++ -(define-auto-insert "\\.cc\\'" ["template.cc" custom/expand-yasnippet]) -(define-auto-insert "\\.hh\\'" ["template.hh" custom/expand-yasnippet]) - -;; Python -(define-auto-insert "\\.py\\'" ["template.py" custom/expand-yasnippet]) - - -(provide 'setup-auto-insert-mode) diff --git a/settings/setup-avy-mode.el b/settings/setup-avy-mode.el deleted file mode 100644 index 63cc774..0000000 --- a/settings/setup-avy-mode.el +++ /dev/null @@ -1,32 +0,0 @@ -;;; setup-avy-mode.el --- basic avy mode config -*- lexical-binding: t; -*- - -;; Copyright (C) 2018 Benj Bellon - -;; Author: Benj Bellon <bbellon@bbellon-ld2.linkedin.biz> -;; Keywords: lisp - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <http://www.gnu.org/licenses/>. - -;;; Commentary: - -;; basic config for avy mode - -;;; Code: - -(require 'avy) - -(global-set-key (kbd "C-c k") 'avy-goto-char) - -(provide 'setup-avy-mode) -;;; setup-avy-mode.el ends here diff --git a/settings/setup-c++-mode.el b/settings/setup-c++-mode.el deleted file mode 100644 index 28d8698..0000000 --- a/settings/setup-c++-mode.el +++ /dev/null @@ -1,18 +0,0 @@ -(add-hook 'c++-mode-hook - (lambda () - (font-lock-add-keywords - nil - '(;; add some keywords - ("\\<\\(nullptr\\)\\>" . font-lock-keyword-face))))) - -(defun arg-list-indent () - "Indent arglist properly when overflowing." - (c-set-offset 'arglist-intro '+)) - -(add-hook 'c++-mode-hook 'arg-list-indent) -;;(add-hook 'c++-mode-hook 'rtags-start-process-unless-running) - -(setq c-basic-offset 2) -(setq c-default-style "gnu") - -(provide 'setup-c++-mode) diff --git a/settings/setup-clojure-mode.el b/settings/setup-clojure-mode.el deleted file mode 100644 index 9961f09..0000000 --- a/settings/setup-clojure-mode.el +++ /dev/null @@ -1,23 +0,0 @@ -(require 'clojure-mode) -(require 'clojure-mode-extra-font-locking) -(require 'flycheck-clojure) - -(add-hook 'clojure-mode-hook 'lsp) -(add-hook 'clojurescript-mode-hook 'lsp) -(add-hook 'clojurec-mode-hook 'lsp) - -(add-hook 'clojure-mode-hook 'enable-paredit-mode) -(add-hook 'clojure-mode-hook 'prettify-symbols-mode) - -(setq gc-cons-threshold (* 100 1024 1024) - read-process-output-max (* 1024 1024) - treemacs-space-between-root-nodes nil - company-minimum-prefix-length 1 - lsp-lens-enable t - lsp-signature-auto-activate nil - ; lsp-enable-indentation nil ; uncomment to use cider indentation instead of lsp - ; lsp-enable-completion-at-point nil ; uncomment to use cider completion instead of lsp - ) - - -(provide 'setup-clojure-mode) diff --git a/settings/setup-company-mode.el b/settings/setup-company-mode.el deleted file mode 100644 index 8ff5f36..0000000 --- a/settings/setup-company-mode.el +++ /dev/null @@ -1,26 +0,0 @@ -;;; setup-company-mode.el --- company mode config -*- lexical-binding: t; -*- - -;;; Commentary: - -;; basic company mode configs - -;;; Code: -(require 'company) - -;; When working with a larger project, until a parser is written -;; for compile_commands.json DB, you can add the headers to -;; .dir-locals.el as follows: -;; (company-clang-arguments . ("-I/path/to/include")) - -(setq company-idle-delay 0.1) -(setq company-clang-executable "/usr/bin/clang++") -(setq company-go-gocode-command (concat (getenv "HOME") "/go/bin/gocode")) - - -;; (push 'company-lsp company-backends) -(push 'company-go company-backends) -(push 'company-terraform company-backends) -(add-hook 'after-init-hook 'global-company-mode) - -(provide 'setup-company-mode) -;;; setup-company-mode.el ends here diff --git a/settings/setup-custom.el b/settings/setup-custom.el deleted file mode 100644 index 3cc694d..0000000 --- a/settings/setup-custom.el +++ /dev/null @@ -1,23 +0,0 @@ -;;; setup-custom.el --- non-user specific customizations -*- lexical-binding: t; -*- -(set-face-attribute 'default nil :font "Source Code Pro Medium-9") -(set-fontset-font t nil "JoyPixels" nil 'append) - -;; no line highlight -(hl-line-mode 0) - -(when (fboundp 'menu-bar-mode) (menu-bar-mode -1)) -(when (fboundp 'tool-bar-mode) (tool-bar-mode -1)) -(when (fboundp 'scroll-bar-mode) (scroll-bar-mode -1)) - -(require 'saveplace) -(setq-default save-place t) - -(setq-default indent-tabs-mode nil) - -(show-paren-mode 1) - -(setq sml/theme 'dark) -(sml/setup) - -(provide 'setup-custom) -;;; setup-custom.el ends here diff --git a/settings/setup-dap-mode.el b/settings/setup-dap-mode.el deleted file mode 100644 index 9ba8f49..0000000 --- a/settings/setup-dap-mode.el +++ /dev/null @@ -1,9 +0,0 @@ -;;; setup-dap-mode.el --- -*- lexical-binding: t; -*- -(dap-ui-mode) -(dap-ui-controls-mode) - -(with-eval-after-load 'dap-mode - (define-key dap-mode-map (kbd "C-c d d") 'dap-hydra)) - -(provide 'setup-dap-mode) -;;; setup-dap-mode.el ends here diff --git a/settings/setup-dockerfile-mode.el b/settings/setup-dockerfile-mode.el deleted file mode 100644 index 1fc86e3..0000000 --- a/settings/setup-dockerfile-mode.el +++ /dev/null @@ -1,8 +0,0 @@ -;;; setup-dockerfile-mode.el --- -*- lexical-binding: t; -*- - -(add-hook 'dockerfile-mode-hook - (lambda () - (setq tab-width 2))) - -(provide 'setup-dockerfile-mode) -;;; setup-dockerfile-mode.el ends here diff --git a/settings/setup-flycheck.el b/settings/setup-flycheck.el deleted file mode 100644 index a050c3c..0000000 --- a/settings/setup-flycheck.el +++ /dev/null @@ -1,32 +0,0 @@ -(require 'flycheck) -(require 'flycheck-pos-tip) -(require 'flycheck-clangcheck) - -;; When using flycheck in a larger c++ project with a variety of headers -;; across a variety of dirs, add the following to your .dir-locals.el -;; (flycheck-clang-dbname . "/abs/path/to/build/compile_commands.json") - -(defun setup-custom-clang-checker () - (flycheck-set-checker-executable 'c/c++-clangcheck "/usr/bin/clang-check") - (flycheck-select-checker 'c/c++-clangcheck)) - -(add-hook 'c-mode-hook #'setup-custom-clang-checker) -(add-hook 'c++-mode-hook #'setup-custom-clang-checker) - -(global-flycheck-mode 1) - -(eval-after-load 'flycheck - '(custom-set-variables - '(flycheck-display-errors-function #'flycheck-pos-tip-error-messages))) - -;; hack to get around go tool vet issue -(let ((govet (flycheck-checker-get 'go-vet 'command))) - (when (equal (cadr govet) "tool") - (setf (cdr govet) (cddr govet)))) - -(global-set-key (kbd "<f2>") 'flyspell-auto-correct-previous-word) -(setq flycheck-clangcheck-analyze t) - -(add-hook 'sh-mode-hook 'flycheck-mode) - -(provide 'setup-flycheck) diff --git a/settings/setup-go-mode.el b/settings/setup-go-mode.el deleted file mode 100644 index ff9ac86..0000000 --- a/settings/setup-go-mode.el +++ /dev/null @@ -1,8 +0,0 @@ -(add-hook 'go-mode-hook - (lambda () - (add-hook 'before-save-hook 'gofmt-before-save) - (setq tab-width 4) - (setq indent-tabs-mode 1))) - -(provide 'setup-go-mode) -;;; setup-go-mode.el ends here diff --git a/settings/setup-haskell-mode.el b/settings/setup-haskell-mode.el deleted file mode 100644 index fd83fca..0000000 --- a/settings/setup-haskell-mode.el +++ /dev/null @@ -1,18 +0,0 @@ -(require 'haskell-mode) -(require 'lsp-haskell) -(require 'flycheck-haskell) - -(defun haskell/pretty-symbols () - (setq prettify-symbols-alist - '( - ("\\" . ?λ) - (">=" . ?≥) - ("<=" . ?≤) - ("()" . ?∅)))) - -;; (add-hook 'haskell-mode-hook 'hasklig-mode) -;; (add-hook 'haskell-mode-hook 'haskell/pretty-symbols) - -;; (setq inferior-haskell-find-project-root nil) - -(provide 'setup-haskell-mode) diff --git a/settings/setup-ido.el b/settings/setup-ido.el deleted file mode 100644 index 26daeb2..0000000 --- a/settings/setup-ido.el +++ /dev/null @@ -1,45 +0,0 @@ -(require 'ido) -(require 'flx-ido) -(ido-mode t) -(ido-everywhere t) -(flx-ido-mode t) - -;; disable flex matching to use flx-ido -(setq ido-disable-flex-matching t - ido-use-faces nil - ido-create-new-buffer 'always) - -(require 'ido-vertical-mode) -(ido-vertical-mode) - -;; C-n/p is more intuitive in vertical layout -(setq ido-vertical-define-keys 'C-n-C-p-up-down-left-right) - -(defun my/ido-go-straight-home () - (interactive) - (cond - ((looking-back "/") (insert "~/")) - (:else (call-interactively 'self-insert-command)))) - -(defun my/setup-ido () - ;; Go straight home - (define-key ido-file-completion-map (kbd "~") 'my/ido-go-straight-home) - (define-key ido-file-completion-map (kbd "C-~") 'my/ido-go-straight-home) - - ;; Use C-w to go back up a dir to better match normal usage of C-w - ;; - insert current file name with C-x C-w instead. - (define-key ido-file-completion-map (kbd "C-w") 'ido-delete-backward-updir) - (define-key ido-file-completion-map (kbd "C-x C-w") 'ido-copy-current-file-name) - - (define-key ido-file-dir-completion-map (kbd "C-w") 'ido-delete-backward-updir) - (define-key ido-file-dir-completion-map (kbd "C-x C-w") 'ido-copy-current-file-name)) - -(add-hook 'ido-setup-hook 'my/setup-ido) - -;; Always rescan buffer for imenu -(set-default 'imenu-auto-rescan t) - -(add-to-list 'ido-ignore-directories "target") -(add-to-list 'ido-ignore-directories "node_modules") - -(provide 'setup-ido) diff --git a/settings/setup-keychain-environment.el b/settings/setup-keychain-environment.el deleted file mode 100644 index 6d6c294..0000000 --- a/settings/setup-keychain-environment.el +++ /dev/null @@ -1,75 +0,0 @@ -;;; keychain-environment.el --- load keychain environment variables - -;; Copyright (C) 2011-2016 Jonas Bernoulli -;; Copyright (C) 2008-2011 Paul Tipper - -;; Author: Paul Tipper <bluefoo at googlemail dot com> -;; Maintainer: Jonas Bernoulli <jonas@bernoul.li> -;; Created: 20081218 -;; Homepage: https://github.com/tarsius/keychain-environment -;; Keywords: gnupg, pgp, ssh - -;; This file is not part of GNU Emacs. - -;; This file is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. - -;; This file is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; For a full copy of the GNU General Public License -;; see <http://www.gnu.org/licenses/>. - -;;; Commentary: - -;; Keychain is a script that manages ssh-agent and gpg-agent. It is -;; typically run from the shell's initialization file. It allows your -;; shells and cron jobs to share a single ssh-agent and/or gpg-agent. - -;; When keychain is run, it checks for running agent, otherwise it -;; starts them. It saves the agents' environment variables to files -;; inside ~/.keychain/, so that subsequent shells can source these -;; files. - -;; When Emacs is started under X11 and not directly from a terminal -;; these variables are not set. This library looks for these files -;; created by keychain and then sets Emacs' environment variables -;; accordingly. It does not actually run keychain, so you still -;; have to run that from a login shell first. - -;; To use run the function `keychain-refresh-environment' in your -;; init file. If keychain has not been run yet when you start Emacs -;; you can also later call that function interactively. - -;; Also see: http://www.funtoo.org/wiki/Keychain - -;;; Code: - -;;;###autoload -(defun keychain-refresh-environment () - "Set ssh-agent and gpg-agent environment variables. -Set the environment variables `SSH_AUTH_SOCK', `SSH_AGENT_PID' -and `GPG_AGENT' in Emacs' `process-environment' according to -information retrieved from files created by the keychain script." - (interactive) - (let* ((ssh (shell-command-to-string "keychain -q --noask --agents ssh --eval")) - (gpg (shell-command-to-string "keychain -q --noask --agents gpg --eval"))) - (list (and ssh - (string-match "SSH_AUTH_SOCK[=\s]\\([^\s;\n]*\\)" ssh) - (setenv "SSH_AUTH_SOCK" (match-string 1 ssh))) - (and ssh - (string-match "SSH_AGENT_PID[=\s]\\([0-9]*\\)?" ssh) - (setenv "SSH_AGENT_PID" (match-string 1 ssh))) - (and gpg - (string-match "GPG_AGENT_INFO[=\s]\\([^\s;\n]*\\)" gpg) - (setenv "GPG_AGENT_INFO" (match-string 1 gpg)))))) - -(provide 'setup-keychain-environment) -;; Local Variables: -;; indent-tabs-mode: nil -;; End: -;;; setup-keychain-environment.el ends here diff --git a/settings/setup-lisp-mode.el b/settings/setup-lisp-mode.el deleted file mode 100644 index 82420d5..0000000 --- a/settings/setup-lisp-mode.el +++ /dev/null @@ -1,34 +0,0 @@ -;;; setup-lisp-mode.el --- lisp mode settings -*- lexical-binding: t; -*- - -;; Copyright (C) 2018 Benj Bellon - -;; Author: Benj Bellon <benj@benj-ad1> -;; Keywords: lisp - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <https://www.gnu.org/licenses/>. - -;;; Commentary: - -;; Basic settings forlisp mode - -;;; Code: - -(add-hook 'lisp-mode-hook 'enable-paredit-mode) -(add-hook 'emacs-lisp-mode-hook 'enable-paredit-mode) - -;; setup eval inferior lisp in slime -;; (define-key global-map (kbd "C-c C-e") 'slime-eval-last-expression) - -(provide 'setup-lisp-mode) -;;; setup-lisp-mode.el ends here diff --git a/settings/setup-lsp-mode.el b/settings/setup-lsp-mode.el deleted file mode 100644 index a268e2b..0000000 --- a/settings/setup-lsp-mode.el +++ /dev/null @@ -1,40 +0,0 @@ -;;; setup-lsp-mode.el --- lsp setup -*- lexical-binding: t; -*- -(setq lsp-keymap-prefix "C-c l") - -(require 'lsp-mode) -(require 'cquery) - -(setq cquery-executable "/usr/local/bin/cquery") - -(setq read-process-output-max (* 1024 1024)) ;; 1mb -(setq lsp-completion-provider :capf) - -;; disable lsp-ui-doc-mode due to very slow update performance -;; TRACK: https://github.com/emacs-lsp/lsp-ui/issues/613 -(setq lsp-ui-doc-enable nil) -(setq lsp-clients-clangd-args '("--compile-commands-dir=build")) -(setq lsp-disabled-clients '()) - - -(lsp-treemacs-sync-mode 1) - -(add-hook 'c-mode-hook #'lsp) -(add-hook 'c++-mode-hook #'lsp) -(add-hook 'dart-mode-hook #'lsp) -(add-hook 'haskell-mode-hook #'lsp) -(add-hook 'lisp-mode-hook #'lsp) -(add-hook 'python-mode-hook #'lsp) -(add-hook 'rustic-mode #'lsp) -(add-hook 'web-mode-hook #'lsp) -(add-hook 'typescript-mode-hook #'lsp) - -(add-hook 'lsp-after-open-hook 'lsp-ui-mode) - -(with-eval-after-load 'lsp-mode - (add-hook 'lsp-mode-hook #'lsp-enable-which-key-integration) - (define-key lsp-mode-map (kbd "C-c l u f") 'lsp-ui-imenu) - (define-key lsp-mode-map (kbd "C-c l t d") 'lsp-dart-show-outline) - (define-key lsp-mode-map (kbd "C-c l t f") 'lsp-dart-show-flutter-outline)) - -(provide 'setup-lsp-mode) -;;; setup-lsp-mode.el ends here diff --git a/settings/setup-magit.el b/settings/setup-magit.el deleted file mode 100644 index 4e85e17..0000000 --- a/settings/setup-magit.el +++ /dev/null @@ -1,5 +0,0 @@ -(require 'magit) - -(global-set-key (kbd "C-x g") 'magit-status) - -(provide 'setup-magit) diff --git a/settings/setup-markdown-mode.el b/settings/setup-markdown-mode.el deleted file mode 100644 index 0e68d1c..0000000 --- a/settings/setup-markdown-mode.el +++ /dev/null @@ -1,26 +0,0 @@ -(require 'markdown-mode) -(setq markdown-imenu-generic-expression - '(("title" "^\\(.*\\)[\n]=+$" 1) - ("h2-" "^\\(.*\\)[\n]-+$" 1) - ("h1" "^# \\(.*\\)$" 1) - ("h2" "^## \\(.*\\)$" 1) - ("h3" "^### \\(.*\\)$" 1) - ("h4" "^#### \\(.*\\)$" 1) - ("h5" "^##### \\(.*\\)$" 1) - ("h6" "^###### \\(.*\\)$" 1) - ("fn" "^\\[\\^\\(.*\\)\\]" 1) - )) - -(add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode)) -(add-to-list 'auto-mode-alist '("\\.md' ." markdown-mode)) - -(autoload 'gfm-mode "markdown-mode" - (add-to-list 'auto-mode-alist '("README\\.md]]'" .gfm-mode))) - -(setq markdown-command "pandoc") - -(add-hook 'markdown-mode-hook - (lambda () - (setq imenu-generic-expression markdown-imenu-generic-expression))) - -(provide 'setup-markdown-mode) diff --git a/settings/setup-mu4e.el b/settings/setup-mu4e.el deleted file mode 100644 index 2f4b08e..0000000 --- a/settings/setup-mu4e.el +++ /dev/null @@ -1,114 +0,0 @@ -;;; Code: -(require 'mu4e) -;; (require 'org-mime) -;; (require 'org-mu4e) -(require 'smtpmail) -(require 'mu4e-alert) - -(setq personal-email (password-store-get-field "mbsync/personal-gmail" "username")) - -(setq - - ;; get mail options - mu4e-get-mail-command "mbsync -a" - mu4e-update-interval 120 - mu4e-headers-auto-update t - mu4e-view-prefer-html t - - ;; Don't save message to Sent Messages, Gmail/IMAP takes care of this - ;; Override in context switching for other type of mailboxes - mu4e-sent-messages-behavior 'delete - message-kill-buffer-on-exit t - - shr-color-visible-luminance-min 40 - - mu4e-view-show-images t - mu4e-use-fancy-chars t - - ;; This fixes the error 'mbsync error: UID is x beyond highest assigned UID x' - mu4e-change-filenames-when-moving t - - user-mail-address personal-email - user-full-name "Benj Bellon" - - ;; default to first (personal) context - mu4e-context-policy 'pick-first - mu4e-compose-context-policy 'pick-first - - ;; Customize the flags to something more sensible. - mu4e-headers-flagged-mark '("F" . "⚑") - mu4e-headers-unread-mark '("u" . "✉") - mu4e-headers-replied-mark '("R" . "←") - - mu4e-date-format "%y/%m/%d" - mu4e-headers-date-format "%Y/%m/%d" - mu4e-attachment-dir "~/Downloads/.mail-attachments" - mu4e-maildir "~/.mail/" - - ;; sendmail options - message-send-mail-function 'smtpmail-send-it - smtpmail-debug-info t - smtpmail-stream-type 'starttls - smtpmail-default-smtp-server "smtp.gmail.com") - -;; This will ensure the right 'sent from' address and email sign off etc. be -;; picked up when replying to emails. -(setq mu4e-contexts - `( - ,(make-mu4e-context - :name "personal" - :enter-func (lambda () (mu4e-message "Entering personal account context")) - :leave-func (lambda () (mu4e-message "Leaving personal account context")) - ;; We match based on the contact-fields of the message - :match-func (lambda (msg) - (when msg - (mu4e-message-contact-field-matches msg :to personal-email) - (mu4e-message-contact-field-matches msg :from personal-email) - (mu4e-message-contact-field-matches msg :cc personal-email) - (mu4e-message-contact-field-matches msg :bcc personal-email))) - :vars `((user-mail-address . ,personal-email) - (user-full-name . "Benj Bellon") - - (mu4e-drafts-folder . "/personal-gmail/[Gmail]/Drafts") - (mu4e-sent-folder . "/personal-gmail/[Gmail]/Sent Mail") - (mu4e-trash-folder . "/personal-gmail/[Gmail]/Trash") - (mu4e-refile-folder . "/personal-gmail/[Gmail]/All Mail") - - (mu4e-maildir-shortcuts . (("/personal-gmail/Inbox" . ?i) - ("/personal-gmail/[Gmail]/Drafts" . ?d) - ("/personal-gmail/[Gmail]/Trash" . ?t) - ("/personal-gmail/[Gmail]/All Mail" . ?a))) - - (mu4e-bookmarks . (("date:today..now AND flag:unread AND NOT (\"maildir:/personal-gmail/[Gmail]/Trash\")" "Inbox" ?i) - ("date:today..now AND NOT (\"maildir:/personal-gmail/[Gmail]/Trash\" OR \"maildir:/personal-gmail/[Gmail]/Sent Mail\")" "Today" ?t) - ("date:7d..now AND NOT (\"maildir:/personal-gmail/[Gmail]/Trash\" OR \"maildir:/personal-gmail/[Gmail]/Sent Mail\")" "Last 7 Days" ?w) - ("NOT (\"maildir:/personal-gmail/[Gmail]/Trash\" OR \"maildir:/personal-gmail/[Gmail]/Sent Mail\")" "All" ?a))) - - (smtpmail-queue-dir . "~/.mail/personal-gmail/queue/cur") - (smtpmail-smtp-user . ,personal-email) - (smtpmail-smtp-server . "smtp.gmail.com") - (smtpmail-smtp-service . 587))) - )) - - -(when (fboundp 'imagemagick-register-types) - (imagemagick-register-types)) - -(add-to-list 'mu4e-view-actions '("View In Browser" . mu4e-action-view-in-browser) t) - -(add-hook 'mu4e-compose-mode-hook (lambda () (auto-fill-mode -1))) -(add-hook 'message-send-hook (lambda () (mml-secure-message-sign-pgpmime))) - -;; mu4e-alerts -(mu4e-alert-set-default-style 'libnotify) -(add-hook 'after-init-hook #'mu4e-alert-enable-mode-line-display) -(add-hook 'after-init-hook #'mu4e-alert-enable-notifications) -(setq - mu4e-alert-interesting-mail-query (concat - "date:today..now" - " AND flag:unread" - " AND NOT (\"maildir:/personal-gmail/[Gmail]/Trash\" OR \"maildir:/personal-gmail/[Gmail]/Sent Mail\")")) - - -(provide 'setup-mu4e) -;;; setup-mu4e.el ends here diff --git a/settings/setup-multiple-cursors.el b/settings/setup-multiple-cursors.el deleted file mode 100644 index f472a75..0000000 --- a/settings/setup-multiple-cursors.el +++ /dev/null @@ -1,24 +0,0 @@ -;;; setup-multiple-cursors.el --- multiple cursors config -*- lexical-binding: t; -*- - -;;; Commentary: - -;; basic multiple cursors config - -;;; Code: -(require 'bindKeys) - - -(bindKeys '("m") - '(("m" . mc/mark-all-like-this) - ("l" . mc/edit-lines) - ("n" . mc/mark-next-like-this) - ("p" . mc/mark-previous-like-this) - ("r r" . mc/mark-all-in-region-regexp) - ("r v" . vr/mc-mark) - ("o" . mc/mark-pop) - ("s" . mc/sort-regions) - ("i" . mc/insert-numbers))) - - -(provide 'setup-multiple-cursors) -;;; setup-multiple-cursors.el ends here diff --git a/settings/setup-org-mode.el b/settings/setup-org-mode.el deleted file mode 100644 index daac7d0..0000000 --- a/settings/setup-org-mode.el +++ /dev/null @@ -1,40 +0,0 @@ -;; Pretty bullets -(global-set-key (kbd "C-c a") 'org-agenda) - -(require 'rainbow-mode) -(add-hook 'org-mode-hook 'rainbow-mode) - -(setq org-directory "~/workspace/.org") -(setq org-base-directory "~/workspace/.org") - -(setq - org-export-html-postamble nil - org-log-done 'note - org-todo-keywords '((sequence "Todo(t)" "In Progress(w)" "Blocked(b)" "|" "DONE(d)" "CANCELLED(c)")) - - org-inbox-file (concat org-base-directory "/inbox.org") - org-projects-file (concat org-base-directory "/projects.org") - org-someday-file (concat org-base-directory "/someday.org") - org-watchdog-file (concat org-base-directory "/watchdog.org") - - org-agenda-files `(,org-inbox-file ,org-projects-file ,org-watchdog-file) - org-refile-targets '((org-projects-file :maxlevel . 3) - (org-someday-file :level . 1) - (org-watchdog-file :maxlevel . 2))) - - -;; setup: org-capture -(setq org-capture-templates '(("t" "Todo [inbox]" entry - (file+headline org-inbox-file "Backlog") - "*** Todo %i %?"))) - -(setq org-agenda-custom-commands - '(("b" "Bug" tags-todo "@bug" - ((org-agenda-overriding-header "Bug"))))) - - -(global-set-key (kbd "C-c C-o c") 'org-capture) -(global-set-key (kbd "C-c C-o o") '(lambda () (interactive) (find-file org-base-directory))) -(global-set-key (kbd "C-c C-o i") '(lambda () (interactive) (find-file (concat org-base-directory "/inbox.org")))) - -(provide 'setup-org-mode) diff --git a/settings/setup-package.el b/settings/setup-package.el deleted file mode 100644 index 03445b1..0000000 --- a/settings/setup-package.el +++ /dev/null @@ -1,40 +0,0 @@ -;;; setup-package.el --- initialize package repos - -;;; Commentary: - -;;; basic m/elpa configuration - -;;;Code: -(require 'package) -;; Taken from magnars setup-package.el -;; https://github.com/magnars/.emacs.d/blob/master/settings/setup-package.el -(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t) -(add-to-list 'package-archives '("melpa-stable" . "http://stable.melpa.org/packages/") t) -;; (package-initialize) - -(unless (file-exists-p "~/.emacs.d/elpa/archives/melpa") - (package-refresh-contents)) - -;; install dash once if it's not already installed -(when (not (package-installed-p 'dash)) (package-install 'dash)) -(require 'dash) -(defun packages-install (packages) - (--each packages - (when (not (package-installed-p it)) - (package-install it))) - (delete-other-windows)) - -(defun require-package (package &optional min-version no-refresh) - "Install given PACKAGE, optionally requiring MIN-VERSION. -If NO-REFRESH is non-nil, the available package lists will not be -re-downloaded in order to locate PACKAGE." - (if (package-installed-p package min-version) - t - (if (or (assoc package package-archive-contents) no-refresh) - (package-install package) - (progn - (package-refresh-contents) - (require-package package min-version t))))) - -(provide 'setup-package) -;;; setup-package.el ends here diff --git a/settings/setup-projectile-mode.el b/settings/setup-projectile-mode.el deleted file mode 100644 index 71fb112..0000000 --- a/settings/setup-projectile-mode.el +++ /dev/null @@ -1,37 +0,0 @@ -;;; setup-projectile-mode.el --- projectile mode settings -*- lexical-binding: t; -*- - -;; Copyright (C) 2018 Benj Bellon - -;; Author: Benj Bellon <bbellon@bbellon-ld2.linkedin.biz> -;; Keywords: lisp - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <http://www.gnu.org/licenses/>. - -;;; Commentary: - -;; basic settings for projectile - -;;; Code: -(require 'projectile) - -(projectile-mode t) - -(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) -(define-key projectile-command-map (kbd "s g") 'projectile-ripgrep) -(define-key projectile-command-map (kbd "s r") 'projectile-replace-regexp) - -(setq projectile-enable-caching t) - -(provide 'setup-projectile-mode) -;;; setup-projectile-mode.el ends here diff --git a/settings/setup-protobuf-mode.el b/settings/setup-protobuf-mode.el deleted file mode 100644 index 14876b5..0000000 --- a/settings/setup-protobuf-mode.el +++ /dev/null @@ -1,6 +0,0 @@ -(require 'protobuf-mode) -(c-lang-defconst c-cpp-matchers -protobuf 'nil) - -(provide 'setup-protobuf-mode) -;;; setup-protobuf-mode.el ends here diff --git a/settings/setup-purescript-mode.el b/settings/setup-purescript-mode.el deleted file mode 100644 index cba4ed7..0000000 --- a/settings/setup-purescript-mode.el +++ /dev/null @@ -1,3 +0,0 @@ -(require 'purescript-mode) -;; '(purescript-mode-hook (quote (turn-on-purescript-indent))) -(provide 'setup-purescript-mode) diff --git a/settings/setup-python-mode.el b/settings/setup-python-mode.el deleted file mode 100644 index c67f78e..0000000 --- a/settings/setup-python-mode.el +++ /dev/null @@ -1,8 +0,0 @@ -(require 'blacken) - -(add-hook 'python-mode-hook 'prettify-symbols-mode) -(add-hook 'python-mode-hook - (lambda () - (add-hook 'before-save-hook 'blacken-buffer))) - -(provide 'setup-python-mode) diff --git a/settings/setup-rustic-mode.el b/settings/setup-rustic-mode.el deleted file mode 100644 index 75c8464..0000000 --- a/settings/setup-rustic-mode.el +++ /dev/null @@ -1,23 +0,0 @@ -(require 'dap-lldb) -(require 'dap-gdb-lldb) -;; installs .extension/vscode -(dap-gdb-lldb-setup) -(dap-register-debug-template - "Rust::LLDB" - (list :type "lldb" - :request "launch" - :name "LLDB::Run" - :gdbpath "rust-lldb" - :target nil - :cwd (projectile-project-root))) - -(defun rk/rustic-mode-hook () - ;; so that run C-c C-c C-r works without having to confirm - (setq-local buffer-save-without-query t)) - -(setq rustic-format-on-save t) -(setq lsp-rust-analyzer-server-display-inlay-hints t) -(add-hook 'rustic-mode-hook 'rk/rustic-mode-hook) - -(provide 'setup-rustic-mode) -;;; setup-rustic-mode.el ends here diff --git a/settings/setup-slime-mode.el b/settings/setup-slime-mode.el deleted file mode 100644 index cbba516..0000000 --- a/settings/setup-slime-mode.el +++ /dev/null @@ -1,32 +0,0 @@ -;;; setup-slime-mode.el --- slime mode settings -*- lexical-binding: t; -*- - -;; Copyright (C) 2018 Benj Bellon - -;; Author: Benj Bellon <benj@benj-ad1> -;; Keywords: lisp - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <https://www.gnu.org/licenses/>. - -;;; Commentary: - -;; Basic settings for slime - -;;; Code: - -(require 'slime) - -(setq inferior-lisp-program "/usr/bin/sbcl") - -(provide 'setup-slime-mode) -;;; setup-slime-mode.el ends here diff --git a/settings/setup-terraform-mode.el b/settings/setup-terraform-mode.el deleted file mode 100644 index 7740f91..0000000 --- a/settings/setup-terraform-mode.el +++ /dev/null @@ -1,6 +0,0 @@ -(add-hook 'terraform-mode-hook - (lambda () - (add-hook 'before-save-hook 'terraform-format-buffer))) - -(provide 'setup-terraform-mode) -;;; setup-terraform-mode.el ends here diff --git a/settings/setup-treemacs.el b/settings/setup-treemacs.el deleted file mode 100644 index 6b4773c..0000000 --- a/settings/setup-treemacs.el +++ /dev/null @@ -1,19 +0,0 @@ -(require 'dash) -(require 'bindKeys) -(require 'treemacs) - -;; (setq treemacs-dir -;; (car (-filter (lambda (path) -;; (string-match-p "^.+.emacs.d/elpa/treemacs-[0-9]+.[0-9]+$" path)) -;; load-path))) - -(bindKeys '("t") - '(("i" . treemacs) - ("t" . treemacs-select-window) - ("b" . treemacs-bookmark) - ("f" . treemacs-find-file) - ("d" . treemacs-delete-other-windows) - ("s" . lsp-treemacs-symbols))) - -(provide 'setup-treemacs) -;;; setup-treemacs.el ends here diff --git a/settings/setup-treesitter.el b/settings/setup-treesitter.el deleted file mode 100644 index 3c97e26..0000000 --- a/settings/setup-treesitter.el +++ /dev/null @@ -1,15 +0,0 @@ -(setq treesit-language-source-alist - '((astro "https://github.com/virchau13/tree-sitter-astro") - (bash "https://github.com/tree-sitter/tree-sitter-bash") - (c "https://github.com/tree-sitter/tree-sitter-c") - (css "https://github.com/tree-sitter/tree-sitter-css") - (html "https://github.com/tree-sitter/tree-sitter-html") - (json "https://github.com/tree-sitter/tree-sitter-json") - (make "https://github.com/alemuller/tree-sitter-make") - (python "https://github.com/tree-sitter/tree-sitter-python") - (rust "https://github.com/tree-sitter/tree-sitter-rust") - (tsx "https://github.com/tree-sitter/tree-sitter-typescript" "master" "tsx/src") - (typescript "https://github.com/tree-sitter/tree-sitter-typescript" "master" "typescript/src"))) - -(provide 'setup-treesitter) -;;; setup-treesitter.el ends here diff --git a/settings/setup-txt-mode.el b/settings/setup-txt-mode.el deleted file mode 100644 index 6715e20..0000000 --- a/settings/setup-txt-mode.el +++ /dev/null @@ -1,24 +0,0 @@ -;;; setup-txt-mode.el --- basic txt mode config -*- lexical-binding: t; -*- - -;;; Commentary: - -;; Basic text mode config - -;;; Code: - -(defun setup-margins () - "Setup margins for text mode." - (setq left-margin-width 20) - (setq right-margin-width 20)) - -(defun text-configs () - "Setup basic text configs" - (visual-line-mode t) - (flyspell-mode t) - (setup-margins)) - -(add-to-list 'auto-mode-alist '("README\\'" . text-mode)) -(add-hook 'text-mode-hook 'text-configs) - -(provide 'setup-txt-mode) -;;; setup-txt-mode.el ends here diff --git a/settings/setup-typescript-mode.el b/settings/setup-typescript-mode.el deleted file mode 100644 index 31867b5..0000000 --- a/settings/setup-typescript-mode.el +++ /dev/null @@ -1,11 +0,0 @@ -(require 'typescript-mode) - -(defun indent-offset-ts () - (setq typescript-indent-level 2)) - -(add-to-list 'auto-mode-alist '("\\.tsx\\'" . typescript-mode)) -(add-hook 'typescript-mode-hook 'indent-offset-ts) - - -(provide 'setup-typescript-mode) -;;; setup-typescript-mode.el ends here diff --git a/settings/setup-web-mode.el b/settings/setup-web-mode.el deleted file mode 100644 index 8a4f088..0000000 --- a/settings/setup-web-mode.el +++ /dev/null @@ -1,44 +0,0 @@ -(require 'web-mode) -(require 'typescript-mode) - -(add-to-list 'auto-mode-alist '("\\.[agj]sp\\'" . web-mode)) -(add-to-list 'auto-mode-alist '("\\.as[cp]x\\'" . web-mode)) -(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode)) -(add-to-list 'auto-mode-alist '("\\.ejs\\'" . web-mode)) -(add-to-list 'auto-mode-alist '("\\.hbs\\'" . web-mode)) -(add-to-list 'auto-mode-alist '("\\.html?\\'" . web-mode)) -(add-to-list 'auto-mode-alist '("\\.js\\'" . web-mode)) -(add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-mode)) -(add-to-list 'auto-mode-alist '("\\.tsx\\'" . typescript-mode)) -(add-to-list 'auto-mode-alist '("\\.mustache\\'" . web-mode)) -(add-to-list 'auto-mode-alist '("\\.tpl\\'" . web-mode)) -(add-to-list 'auto-mode-alist '("\\.eex\\'" . web-mode)) -(add-to-list 'auto-mode-alist '("\\.svelte\\'" . web-mode)) - - -(set-face-attribute 'web-mode-doctype-face nil :foreground "misty rose") -(set-face-attribute 'web-mode-html-tag-face nil :foreground "medium slate blue") -(set-face-attribute 'web-mode-html-attr-name-face nil :foreground "orange") -(set-face-attribute 'web-mode-html-tag-bracket-face nil :foreground "gray") -(set-face-attribute 'web-mode-block-control-face nil :foreground "deep sky blue") -(set-face-attribute 'web-mode-block-delimiter-face nil :foreground "medium aquamarine") - -(setq web-mode-engines-alist - '(("django" . "\\.html\\'"))) - -(defun indent-offset () - "Hooks for web mode." - (setq web-mode-markup-indent-offset 2) - (setq web-mode-code-indent-offset 2) - (setq web-mode-css-indent-offset 2) - (setq web-mode-style-padding 2) - (setq web-mode-script-padding 2)) - -;; (eval-after-load 'web-mode -;; '(add-hook 'web-mode-hook #'add-node-modules-path)) - -(add-hook 'web-mode-hook 'indent-offset) -(add-hook 'web-mode-hook 'prettier-mode) -;(add-hook 'web-mode-hook 'prettier-js-mode) - -(provide 'setup-web-mode) diff --git a/settings/setup-yaml-mode.el b/settings/setup-yaml-mode.el deleted file mode 100644 index f4e8a71..0000000 --- a/settings/setup-yaml-mode.el +++ /dev/null @@ -1,7 +0,0 @@ -(require 'yaml-mode) - -(add-hook 'yaml-mode-hook - (lambda () - (define-key yaml-mode-map "\C-m" 'newline-and-indent))) - -(provide 'setup-yaml-mode) diff --git a/settings/setup-yasnippet.el b/settings/setup-yasnippet.el deleted file mode 100644 index ddaf46e..0000000 --- a/settings/setup-yasnippet.el +++ /dev/null @@ -1,13 +0,0 @@ -(require 'yasnippet) - -(setq yas-snippet-dirs `(,(locate-user-emacs-file "templates/snippets"))) - -(yas-global-mode 1) -;; Jump to end of snippet definition -(define-key yas-keymap (kbd "<return>") 'yas-next-field) -(define-key yas-keymap (kbd "C-x RET TAB") 'yas-exit-all-snippets) - -(add-hook 'term-mode-hook (lambda() - (setq yas-dont-activate t))) - -(provide 'setup-yasnippet) diff --git a/templates/auto-insert/.yas-setup.el b/templates/auto-insert/.yas-setup.el deleted file mode 100644 index ed5d6b9..0000000 --- a/templates/auto-insert/.yas-setup.el +++ /dev/null @@ -1,73 +0,0 @@ -;;; .yas-setup.el --- Utility functions for c-mode -*- lexical-binding: t; -*- - -;; Copyright (C) 2018 Benj Bellon - -;; Author: Benj Bellon <benj@benj-ad1> -;; Keywords: c - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <https://www.gnu.org/licenses/>. - -;;; Commentary: - -;; As description - -;;; Code: -(require 'dash) - -(defun fetch-project-path (root-dir) - "Retrieve path from project's root-dir to file as list. -NOTE: The closest parent root-dir is considered the root. -ROOT-DIR: the root directory with no path delimiters." - (let* ((full-path (locate-dominating-file buffer-file-name root-dir))) - (if full-path - (let* ((proj-root-dir (nth 1 (reverse (split-string full-path "/")))) - (full-path-list (cons proj-root-dir - (-flatten (cdr (-split-on proj-root-dir (split-string buffer-file-name "/"))))))) - - ;; turn dashes into underscores - (mapcar (lambda (x) (replace-regexp-in-string "-" "_" x)) - full-path-list)) - nil) - )) - -(defun build-include-guard-header (root-dir) - "Create a full include guard header for c files. -If the path cannot be found, just use the filename. -ROOT-DIR: the root directory with no path delimiters. -FORMAT: PROJDIR_FULL_PATH_TO_FILE_H" - (if (fetch-project-path root-dir) - (let* ((path-no-file (reverse (cdr (reverse (fetch-project-path root-dir))))) - (file-no-ext (car (split-string (car (reverse (fetch-project-path root-dir))) "\\." t)))) - (concat - (mapconcat 'identity - (mapcar 'upcase - (reverse (cons file-no-ext (reverse path-no-file)))) "_") - "_H") - ) - ;; no lazy evaluation, so just do it here - (concat - (upcase - (car (-filter (lambda (x) (not (s-blank? x))) - (split-string - (car (reverse (split-string buffer-file-name "/"))) - "\\.")))) - "_H") - )) - -(defun git-include-guard-path () - "Build include guard headers for git projects." - (build-include-guard-header ".git")) - -(provide '.yas-setup) -;;; .yas-setup.el ends here diff --git a/templates/auto-insert/template.c b/templates/auto-insert/template.c deleted file mode 100644 index d9afc65..0000000 --- a/templates/auto-insert/template.c +++ /dev/null @@ -1,7 +0,0 @@ -/* - * @file `(buffer-name)` - * @brief $0 - * - * @author `user-full-name` - * @date `(format-time-string "%Y-%m-%d")` - */ diff --git a/templates/auto-insert/template.cc b/templates/auto-insert/template.cc deleted file mode 100644 index d9afc65..0000000 --- a/templates/auto-insert/template.cc +++ /dev/null @@ -1,7 +0,0 @@ -/* - * @file `(buffer-name)` - * @brief $0 - * - * @author `user-full-name` - * @date `(format-time-string "%Y-%m-%d")` - */ diff --git a/templates/auto-insert/template.h b/templates/auto-insert/template.h deleted file mode 100644 index 408e09d..0000000 --- a/templates/auto-insert/template.h +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file `(buffer-name)` - * @brief $1 - * - * $2 - * - * @author `user-full-name` - * @date `(format-time-string "%Y-%m-%d")` - */ - -#ifndef `(git-include-guard-path)` -#define `(git-include-guard-path)` - -$0 - -#endif diff --git a/templates/auto-insert/template.hh b/templates/auto-insert/template.hh deleted file mode 100644 index 408e09d..0000000 --- a/templates/auto-insert/template.hh +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @file `(buffer-name)` - * @brief $1 - * - * $2 - * - * @author `user-full-name` - * @date `(format-time-string "%Y-%m-%d")` - */ - -#ifndef `(git-include-guard-path)` -#define `(git-include-guard-path)` - -$0 - -#endif diff --git a/templates/snippets/c++-mode/doxycomments b/templates/snippets/c++-mode/doxycomments deleted file mode 120000 index 62fd598..0000000 --- a/templates/snippets/c++-mode/doxycomments +++ /dev/null @@ -1 +0,0 @@ -../doxygen/doxycomments
\ No newline at end of file diff --git a/templates/snippets/c-mode/doxycomments b/templates/snippets/c-mode/doxycomments deleted file mode 120000 index 62fd598..0000000 --- a/templates/snippets/c-mode/doxycomments +++ /dev/null @@ -1 +0,0 @@ -../doxygen/doxycomments
\ No newline at end of file diff --git a/templates/snippets/c-mode/headerDEF b/templates/snippets/c-mode/headerDEF deleted file mode 100644 index a07587b..0000000 --- a/templates/snippets/c-mode/headerDEF +++ /dev/null @@ -1,8 +0,0 @@ -# -*- mode: snippet -*- -# name: headerDEF -# key: #if -# -- -#ifndef -#define - -#endif
\ No newline at end of file diff --git a/templates/snippets/clojure-mode/defn b/templates/snippets/clojure-mode/defn deleted file mode 100644 index 0907e4a..0000000 --- a/templates/snippets/clojure-mode/defn +++ /dev/null @@ -1,8 +0,0 @@ -# -*- mode: snippet -*- -# name: defn -# key: defn -# -- -defn ${1:name} - "${2:docstring}" - [${3:arg-list}] - $0
\ No newline at end of file diff --git a/templates/snippets/clojure-mode/let b/templates/snippets/clojure-mode/let deleted file mode 100644 index 426caa2..0000000 --- a/templates/snippets/clojure-mode/let +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: let -# key: let -# -- -let [$0] diff --git a/templates/snippets/doxygen/doxycomments b/templates/snippets/doxygen/doxycomments deleted file mode 100644 index 94209bc..0000000 --- a/templates/snippets/doxygen/doxycomments +++ /dev/null @@ -1,48 +0,0 @@ -# -*- mode: snippet -*- -# name: doxcomments -# key: dox -# type: command -# -- -;; Command to generate doxygen comments for c functions - -(defun flatten (ls) - "Implements standard flatten function" - (cond - ((atom ls) (list ls)) - ((null (cdr ls)) (flatten (car ls))) - (t (append (flatten (car ls)) (flatten (cdr ls)))))) - -(defun find-retval () - "Returns the return value of the next parsed function" - (interactive) - (let ((struct-type "struct")) - (search-forward "(" nil t) - (move-beginning-of-line nil) - (let ((return-type (thing-at-point 'symbol))) - (if (string= return-type struct-type) - "NOT_IMPLEMENTED" - return-type)))) - -(defun find-args () - "Returns a list of function args for the next parsed function" - (interactive) - (let* ((struct-type "struct") - (start (search-forward "(" nil t)) - (end (search-forward ")" nil t)) - (args-string (buffer-substring-no-properties start (1- end))) - (args (mapcar 'string-trim-left (split-string args-string "," t)))) - (mapcar (lambda (x) (car (reverse x))) (mapcar 'split-string args)))) - -(let* ((retval (find-retval)) - (args (find-args)) - (args-len (length args)) - (brief "@brief $1\n *") - (params (mapcar (lambda (x) (format "@param: %s ${%d:}" (cdr x) (car x))) - (mapcar* 'cons - (mapcar '1+ (number-sequence 1 args-len)) - args))) - (retval (format "@return %s $0" retval)) - (snippet-text (mapconcat 'identity (flatten (list "/**" brief params (concat "\n * " retval))) - "\n * "))) - (move-beginning-of-line nil) - (yas-expand-snippet (concat snippet-text "\n*/\n"))) diff --git a/templates/snippets/org-mode/blockquote b/templates/snippets/org-mode/blockquote deleted file mode 100644 index 82a837c..0000000 --- a/templates/snippets/org-mode/blockquote +++ /dev/null @@ -1,7 +0,0 @@ -# -*- mode: snippet -*- -# name: blockquote -# key: > -# -- -#+begin_quote -$0 -#+end_quote
\ No newline at end of file diff --git a/templates/snippets/org-mode/codeblock b/templates/snippets/org-mode/codeblock deleted file mode 100644 index 88ddca4..0000000 --- a/templates/snippets/org-mode/codeblock +++ /dev/null @@ -1,7 +0,0 @@ -# -*- mode: snippet -*- -# name: codeblock -# key: ``` -# -- -#+begin_src $1 -$0 -#+end_src
\ No newline at end of file diff --git a/templates/snippets/org-mode/screenplay-block-left b/templates/snippets/org-mode/screenplay-block-left deleted file mode 100644 index e825b88..0000000 --- a/templates/snippets/org-mode/screenplay-block-left +++ /dev/null @@ -1,6 +0,0 @@ -# key: "l -# name: screenplay-block-left -# -- -#+BEGIN_SCREENPLAY_LEFT -$0 -#+END_SCREENPLAY_LEFT
\ No newline at end of file diff --git a/templates/snippets/org-mode/screenplay-block-right b/templates/snippets/org-mode/screenplay-block-right deleted file mode 100644 index 84b7136..0000000 --- a/templates/snippets/org-mode/screenplay-block-right +++ /dev/null @@ -1,6 +0,0 @@ -# key: "r -# name: screenplay-block-right -# -- -#+BEGIN_SCREENPLAY_RIGHT -$0 -#+END_SCREENPLAY_RIGHT
\ No newline at end of file diff --git a/templates/snippets/python-mode/import_from b/templates/snippets/python-mode/import_from deleted file mode 100644 index 767f344..0000000 --- a/templates/snippets/python-mode/import_from +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: import_from -# key: from -# -- -from $1 import $0 diff --git a/templates/snippets/python-mode/lambda b/templates/snippets/python-mode/lambda deleted file mode 100644 index 08b268b..0000000 --- a/templates/snippets/python-mode/lambda +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: lambda -# key: lam -# -- -lambda ${1:x}: $0
\ No newline at end of file diff --git a/templates/snippets/python-mode/print b/templates/snippets/python-mode/print deleted file mode 100644 index 2392fbd..0000000 --- a/templates/snippets/python-mode/print +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: print -# key: print -# -- -print("$0")
\ No newline at end of file diff --git a/templates/snippets/python-mode/print format b/templates/snippets/python-mode/print format deleted file mode 100644 index 704cb53..0000000 --- a/templates/snippets/python-mode/print format +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: print format -# key: printf -# -- -print("$1".format($0))
\ No newline at end of file diff --git a/templates/snippets/python-mode/script b/templates/snippets/python-mode/script deleted file mode 100644 index 3113da9..0000000 --- a/templates/snippets/python-mode/script +++ /dev/null @@ -1,10 +0,0 @@ -# -*- mode: snippet -*- -# name: script -# key: script -# -- -#!/usr/bin/env python -def main(): - ${1:pass} - -if __name__ == '__main__': - main()
\ No newline at end of file diff --git a/templates/snippets/rustic-mode/assert b/templates/snippets/rustic-mode/assert deleted file mode 100644 index 4d823f3..0000000 --- a/templates/snippets/rustic-mode/assert +++ /dev/null @@ -1,4 +0,0 @@ -me : assert -#key : as -# -- -assert!(${1:truth}); diff --git a/templates/snippets/rustic-mode/assert_eq b/templates/snippets/rustic-mode/assert_eq deleted file mode 100644 index 18e9e8b..0000000 --- a/templates/snippets/rustic-mode/assert_eq +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -#name : assert_eq -#key : ase -# -- -assert_eq!(${1:a}, ${2:b}); diff --git a/templates/snippets/rustic-mode/derive_debug b/templates/snippets/rustic-mode/derive_debug deleted file mode 100644 index 6d64312..0000000 --- a/templates/snippets/rustic-mode/derive_debug +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: derive-debug -# key: debug -# -- -#[derive(Debug)] diff --git a/templates/snippets/rustic-mode/print_debug b/templates/snippets/rustic-mode/print_debug deleted file mode 100644 index 5ae259f..0000000 --- a/templates/snippets/rustic-mode/print_debug +++ /dev/null @@ -1,5 +0,0 @@ -# -*- mode: snippet -*- -# name: println!("{:#?}", value); -# key: log -# -- -println!("{:#?}", ${1:value}); diff --git a/templates/snippets/rustic-mode/test b/templates/snippets/rustic-mode/test deleted file mode 100644 index 837276f..0000000 --- a/templates/snippets/rustic-mode/test +++ /dev/null @@ -1,8 +0,0 @@ -# -*- mode: snippet -*- -# name: test -# key: test -# -- -#[test] -fn it_works() { - assert_eq!(2 + 2, 4); -} diff --git a/templates/snippets/sql-mode/primitive-return-function b/templates/snippets/sql-mode/primitive-return-function deleted file mode 100644 index bb7e79e..0000000 --- a/templates/snippets/sql-mode/primitive-return-function +++ /dev/null @@ -1,13 +0,0 @@ -# key: fnp -# name: Create function with primitive return value. -# -- -drop function if exists $1(); -create or replace function $1( - $0 -) -returns $2 as $$ -declare -begin - -end; -$$ language plpgsql;
\ No newline at end of file diff --git a/templates/snippets/sql-mode/record-return-fuction b/templates/snippets/sql-mode/record-return-fuction deleted file mode 100644 index a3894c4..0000000 --- a/templates/snippets/sql-mode/record-return-fuction +++ /dev/null @@ -1,18 +0,0 @@ -# key: fn -# name: create a function which returns a full record -# -- -drop type if exists $1_ret cascade; -create type $1_ret as ( - $2 -); - -drop function if exists $1(); -create or replace function $1( - $3 -) -returns setof $1_ret as $$ -declare -begin - $0 -end; -$$ language plpgsql; diff --git a/utils/bindKeys.el b/utils/bindKeys.el deleted file mode 100644 index c07c393..0000000 --- a/utils/bindKeys.el +++ /dev/null @@ -1,25 +0,0 @@ -;;; bindKeys.el --- bind key sequence to a key map -*- lexical-binding: t; -*- - -;; Author: Benj Bellon -;; Keywords: lisp - -;;; Commentary: - -;; Bind key seqeuence to a keymap - -;;; Code: -(require 'dash) - -(defun bindKeys (triggerSeq bindings) - "Bind keys to a trigger sequence. -TRIGGERSEQ is a sequence of key(s) to trigger the binding. -BINDINGS is an alist of bindings." - (let ((trigger (concat (-reduce (lambda (acc cur) (concat acc cur)) triggerSeq) " "))) - (mapcar (lambda (binding) - (global-set-key - (kbd (concat (concat "C-c " trigger) (car binding))) - (cdr binding))) - bindings))) - -(provide 'bindKeys) -;;; bindKeys.el ends here diff --git a/utils/fetch-includes.el b/utils/fetch-includes.el deleted file mode 100644 index ce386af..0000000 --- a/utils/fetch-includes.el +++ /dev/null @@ -1,59 +0,0 @@ -;;; fetch-includes.el --- add headers to clang checker -*- lexical-binding: t; -*- - -;; Copyright (C) 2018 Benj Bellon - -;; Author: Benj Bellon -;; Keywords: lisp - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <https://www.gnu.org/licenses/>. - -;;; Commentary: - -;; Parses the compile_commands.json db and adds headers -;; to company-mode's company-clang backend. - -;;; Code: - -(require 'json) -(require 'dash) - -(defun get-commands (json-file) - "Retrieves list of command strings possibly including header paths. -JSON-FILE is the path to the json-file to parse." - (let* ((json-object-type 'hash-table) - (json-array-type 'list) - (json-key-type 'string) - (json (json-read-file json-file))) - (mapcar - (function (lambda (el) (gethash "command" el))) - json))) - -(defun get-include-paths (commands-list) - "Retrieve the include paths from a list of string which may be include paths. -COMMANDS-LIST a list of commands" - (remove nil - (mapcar - (function (lambda (cmd) (if (string-match "-I" cmd) cmd))) - (split-string commands-list)))) - -(defun company-clang-header-paths (db-path) - "Provides list of include paths to add to company-clang backend. -DB-PATH the path to compile_commands.json" - (-flatten (mapcar - (function (lambda(cmd-list) - (get-include-paths cmd-list))) - (get-commands db-path)))) - -(provide 'fetch-includes) -;;; fetch-includes.el ends here |
