]> git.donarmstrong.com Git - lib.git/blobdiff - emacs_el/configuration/don-configuration.org
open atomic-chrome in full windows
[lib.git] / emacs_el / configuration / don-configuration.org
index bf37448dc675a86ac4a1c3e3a671cfba779ff9c6..3383e39f1f1a520e01855f2a3d3dcbef44128a40 100644 (file)
 #+END_SRC
 ** [[https://github.com/jwiegley/use-package/][use-package]]
 #+BEGIN_SRC emacs-lisp
-  (require 'use-package)
   (package-initialize)
+  (require 'use-package)
 #+END_SRC
 ** Paradox
 #+BEGIN_SRC emacs-lisp
-  (package-initialize)
   (use-package paradox
     :ensure paradox
   )
 #+END_SRC
+* Disable custom-vars
+#+BEGIN_SRC emacs-lisp
+  ;; Set the custom file to /dev/null and don't bother to load it
+  (setq custom-file "/dev/null")
+#+END_SRC
 * Misc functions
 ** with-library
 #+BEGIN_SRC emacs-lisp
@@ -249,7 +253,6 @@ value, scrolling continues until there is no more output.
 #+END_SRC
 
 ** Snippets
-
 *** Yasnippet
 #+BEGIN_SRC emacs-lisp
   (use-package yasnippet
@@ -261,9 +264,21 @@ value, scrolling continues until there is no more output.
               (define-key yas-minor-mode-map (kbd "<tab>") nil)
               (define-key yas-minor-mode-map (kbd "TAB") nil)
               (define-key yas-minor-mode-map (kbd "<backtab>") 'yas-expand)
-              ))
+              (setq yas-snippet-dirs '("~/lib/emacs_el/snippets/"
+                                       "~/lib/emacs_el/yasnippet-snippets/snippets/"))
+              (add-to-list 'hippie-expand-try-functions-list
+                               'yas-hippie-try-expand)
+              )
+    )
+#+END_SRC
+*** Auto-YASnippet
+#+BEGIN_SRC emacs-lisp
+  (use-package auto-yasnippet
+    :bind (("H-w" . aya-create)
+           ("H-y" . aya-expand)
+           )
+    )
 #+END_SRC
-
 ** Helm Flx
 
 [[https://github.com/PythonNut/helm-flx][helm-flx]] implements intelligent helm fuzzy sorting, provided by [[https://github.com/lewang/flx][flx]].
@@ -498,10 +513,6 @@ value, scrolling continues until there is no more output.
   )
 
 #+END_SRC
-** Org
-#+BEGIN_SRC emacs-lisp
-  (require 'org-mode-configuration)
-#+END_SRC
 *** Org-Gcal
 #+BEGIN_SRC emacs-lisp
   (use-package calfw
@@ -521,7 +532,36 @@ value, scrolling continues until there is no more output.
 #+BEGIN_SRC emacs-lisp
   (use-package ess
     :ensure t
-    :config (require 'ess_configuration))
+    :config
+    (defun ess-change-directory (path)
+      "Set the current working directory to PATH for both *R* and Emacs."
+      (interactive "DDirectory to change to: ")
+    
+      (when (file-exists-p path)
+        (ess-command (concat "setwd(\"" path "\")\n"))
+        ;; use file-name-as-directory to ensure it has trailing /
+        (setq default-directory (file-name-as-directory path))))
+    (add-hook 'ess-mode-hook 'flyspell-prog-mode)
+    ;; outlining support for ess modes
+    (add-hook
+     'ess-mode-hook
+     '(lambda ()
+        (outline-minor-mode)
+        (setq outline-regexp "\\(^#\\{4,5\\} \\)\\|\\(^[a-zA-Z0-9_\.]+ ?<- ?function\\)")
+        (defun outline-level ()
+          (cond ((looking-at "^##### ") 1)
+                ((looking-at "^#### ") 2)
+                ((looking-at "^[a-zA-Z0-9_\.]+ ?<- ?function(.*{") 3)
+                (t 1000)))
+        ))
+    (add-hook 'ess-mode-hook
+              '(lambda ()
+                 (local-set-key (kbd "C-c C-R")
+                                'dla/ess-region-remote-eval)))
+
+    ;; Don't restore history or save workspace image
+    '(inferior-R-args "--no-restore-history --no-save")
+    )
 #+END_SRC
 
 ** Rainbowmode
@@ -563,6 +603,20 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori
 #+BEGIN_SRC emacs-lisp
   (use-package atomic-chrome
     :config (atomic-chrome-start-server)
+    (setq atomic-chrome-buffer-open-style 'full)
+    )
+#+END_SRC
+** Multiple Cursors
+   :PROPERTIES:
+   :ID:       6fcf218b-a762-4c37-9339-a8202ddeb544
+   :END:
+[[https://github.com/magnars/multiple-cursors.el][Multiple Cursors]]
+#+BEGIN_SRC emacs-lisp
+  (use-package multiple-cursors
+    :bind (("C-;" . mc/mark-all-dwim)
+           ("C-<" . mc/mark-previous-like-this)
+           ("C->" . mc/mark-next-like-this)
+           ("C-S-c C-S-c" . mc/edit-lines))
     )
 #+END_SRC
 * Org Mode
@@ -1263,6 +1317,21 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori
             (when (member (org-get-todo-state) org-todo-keywords-1)
               (setq has-subtask t))))
         (and is-a-task (not has-subtask)))))
+  (defun bh/is-project-p ()
+    "Any task with a todo keyword subtask"
+    (save-restriction
+      (widen)
+      (let ((has-subtask)
+            (subtree-end (save-excursion (org-end-of-subtree t)))
+            (is-a-task (member (nth 2 (org-heading-components)) org-todo-keywords-1)))
+        (save-excursion
+          (forward-line 1)
+          (while (and (not has-subtask)
+                      (< (point) subtree-end)
+                      (re-search-forward "^\*+ " subtree-end t))
+            (when (member (org-get-todo-state) org-todo-keywords-1)
+              (setq has-subtask t))))
+        (and is-a-task has-subtask))))
 
   (defun bh/is-subproject-p ()
     "Any task which is a subtask of another project"
@@ -1780,11 +1849,6 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori
   ; don't use the multi-window configuration
   (setq ediff-window-setup-function 'ediff-setup-windows-plain)
 
-  ; use iedit
-  (require 'iedit)
-  (define-key global-map (kbd "C-;") 'iedit-mode)
-  (global-set-key  (kbd "C-;") 'iedit-mode)
-
   ; fix up css mode to not be silly
   ; from http://www.stokebloke.com/wordpress/2008/03/21/css-mode-indent-buffer-fix/
   (setq cssm-indent-level 4)
@@ -1937,7 +2001,7 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori
   (defvar my-keys-minor-mode-map (make-keymap) "my-keys-minor-mode keymap.")
 
   ; use iedit everywhere
-  (define-key my-keys-minor-mode-map (kbd "C-;") 'iedit-mode)
+  (define-key my-keys-minor-mode-map (kbd "C-;") 'mc/mark-all-dwim)
 
   (define-minor-mode my-keys-minor-mode
     "A minor mode so that my key settings override annoying major modes."