From c053a7873d916372f08d96db4a6bc0edffcb0ea2 Mon Sep 17 00:00:00 2001 From: Arnaud Bailly Date: Sat, 7 Sep 2019 10:26:11 +0200 Subject: update emacs config --- .emacs | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 74 insertions(+), 2 deletions(-) diff --git a/.emacs b/.emacs index 3f24169..e90452f 100644 --- a/.emacs +++ b/.emacs @@ -21,13 +21,14 @@ (set-face-attribute 'default nil :background "white" :foreground "black" - :family "Monaco" + :family "Source Code Pro" :height 140) )) (global-set-key (kbd "C-x M-a") "α") (global-set-key (kbd "C-x M-b") "β") +(global-set-key (kbd "C-x M-d") "δ") (global-set-key (kbd "C-x M-l") "λ") (setq fill-column 132) @@ -71,6 +72,7 @@ (setq helm-autoresize-max-height 0) (setq helm-autoresize-min-height 20) +(setq helm-mode-fuzzy-match t) (helm-autoresize-mode 1) (helm-mode 1) @@ -286,5 +288,75 @@ ;; Idris ;; development mode -;; (add-to-list 'load-path (concat (getenv "HOME") "/projects/idris/idris-mode")) +(add-to-list 'load-path (concat (getenv "HOME") "/projects/idris/idris-mode")) (require 'idris-mode) + +;; projectile +(require 'projectile) +(define-key projectile-mode-map (kbd "s-p") 'projectile-command-map) +(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) +(projectile-mode +1) + +;; elfeed +(use-package elfeed + :ensure t) + +(setq elfeed-feeds + '("https://abailly.github.io/atom.xml" + "http://planet.emacsen.org/atom.xml" + "https://reasonablypolymorphic.com/feed.rss")) + +(global-set-key (kbd "C-x w") 'elfeed) + +;; yaml +(require 'yaml-mode) + +;; javascript +(require 'js2-mode) +(require 'js2-refactor) +(require 'xref-js2) + +(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode)) + +(add-hook 'js2-mode-hook #'js2-refactor-mode) +(js2r-add-keybindings-with-prefix "C-c C-r") +(define-key js2-mode-map (kbd "C-k") #'js2r-kill) + +;; js-mode (which js2 is based on) binds "M-." which conflicts with xref, so +;; unbind it. +(define-key js-mode-map (kbd "M-.") nil) + +(add-hook 'js2-mode-hook (lambda () + (add-hook 'xref-backend-functions #'xref-js2-xref-backend nil t))) + +(require 'typescript-mode) +(require 'ansi-color) +(defun colorize-compilation-buffer () + (ansi-color-apply-on-region compilation-filter-start (point-max))) +(add-hook 'compilation-filter-hook 'colorize-compilation-buffer) + +(require 'web-mode) +(add-to-list 'auto-mode-alist '("\\.tsx\\'" . web-mode)) +(add-hook 'web-mode-hook + (lambda () + (when (string-equal "tsx" (file-name-extension buffer-file-name)) + (setup-tide-mode)))) + +;; enable typescript-tslint checker +(flycheck-add-mode 'typescript-tslint 'web-mode) + +;; supports .editorconfig file in project +(use-package editorconfig + :ensure t + :config + (editorconfig-mode 1)) + +;; elm +(require 'elm-mode) + +;; terraform +(require 'terraform-mode) + +;; shellcheck +;;http://www.skybert.net/emacs/bash-linting-in-emacs/ +(add-hook 'sh-mode-hook 'flycheck-mode) -- cgit v1.2.3 From 004a6f0c0609d46c96578a8e979493c5c50c02fe Mon Sep 17 00:00:00 2001 From: Arnaud Bailly Date: Sat, 7 Sep 2019 10:26:31 +0200 Subject: update bash for ssh agent --- .bash_profile | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/.bash_profile b/.bash_profile index 959da38..7381c73 100644 --- a/.bash_profile +++ b/.bash_profile @@ -1,2 +1,31 @@ -export EDITOR=vim -export PATH=$HOME/.local/bin:$HOME/.cabal/bin:$PATH +export PATH=/Applications/Emacs.app/Contents/MacOS/:/Applications/Emacs.app/Contents/MacOS/bin:${PATH} +export PATH=${HOME}/.local/bin:${PATH} +export PATH=${HOME}/.idris2/bin:${PATH} +export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH" +export GOPATH=${HOME}/go +alias ec="emacsclient -c" +alias g=git + +# from https://stackoverflow.com/questions/18880024/start-ssh-agent-on-login +SSH_ENV="$HOME/.ssh/environment" + +function start_agent { + echo "Initialising new SSH agent..." + /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}" + echo succeeded + chmod 600 "${SSH_ENV}" + . "${SSH_ENV}" > /dev/null + /usr/bin/ssh-add; +} + +# Source SSH settings, if applicable + +if [ -f "${SSH_ENV}" ]; then + . "${SSH_ENV}" > /dev/null + #ps ${SSH_AGENT_PID} doesn't work under cywgin + ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { + start_agent; + } +else + start_agent; +fi -- cgit v1.2.3 From 36b5878a953598ba62cc8720c7cd0cd5c07f46d5 Mon Sep 17 00:00:00 2001 From: Arnaud Bailly Date: Sat, 7 Sep 2019 10:26:39 +0200 Subject: add more packages --- install.el | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/install.el b/install.el index 6de54a5..8046e26 100644 --- a/install.el +++ b/install.el @@ -12,5 +12,15 @@ (unless (package-installed-p package) (package-install package))) - '(magit intero helm markdown-mode multiple-cursors expand-region yasnippet color-theme - elpy prop-menu google-translate)) + '(magit + intero + helm + markdown-mode + multiple-cursors + expand-region + yasnippet + color-theme + elpy + prop-menu + google-translate + use-package)) -- cgit v1.2.3