emacs - scheme mode
[dotfiles.git] / emacs.d / config.org
index 817df9b..b9c0209 100644 (file)
@@ -153,6 +153,7 @@ Check out [[http://tapoueh.org/emacs/el-get.html][el-get]].
   ;; don't want high light current line in eshell/term mode
   (add-hook 'prog-mode-hook 'hl-line-mode)
   (add-hook 'text-mode-hook 'hl-line-mode)
+  (add-hook 'dired-mode-hook 'hl-line-mode)
 #+END_SRC
 
 ** Smart Comments
@@ -178,7 +179,7 @@ syntax highlighting
   (if window-system
       (defvar sd/fixed-font-family
         (cond ((x-list-fonts "Hasklig")         "Hasklig")
-              ((x-list-fonts "Source Code Pro") "Source Code Pro:weight:light")
+              ((x-list-fonts "Source Code Pro") "Source Code Pro:weight")
               ((x-list-fonts "Anonymous Pro")   "Anonymous Pro")
               ((x-list-fonts "M+ 1mn")          "M+ 1mn"))
         "The fixed width font based on what is installed, `nil' if not defined."))
@@ -198,7 +199,6 @@ Setting the fonts
 Loading theme should be after all required loaded, refere [[https://github.com/jwiegley/use-package][:defer]] in =use-package=
 
 #+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
   (setq vc-follow-symlinks t)
 
   (use-package color-theme
@@ -208,7 +208,9 @@ Loading theme should be after all required loaded, refere [[https://github.com/j
               :ensure t
               :no-require t
               :config
-              (load-theme 'sanityinc-tomorrow-bright t)))
+              ;; (load-theme 'sanityinc-tomorrow-bright t)
+              (load-theme 'molokai t)
+              ))
 
   ;(eval-after-load 'color-theme
   ;  (load-theme 'sanityinc-tomorrow-bright t))
@@ -335,6 +337,11 @@ Enable rainbow mode in emacs lisp mode
 
 #+END_SRC
 
+** cusor color
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+  (set-cursor-color 'red)
+#+END_SRC
+
 * Mode-line
 ** clean mode line
 clean mode line, Refer to [[https://www.masteringemacs.org/article/hiding-replacing-modeline-strings][Marstering Emacs]], some greek character see [[http://xahlee.info/math/math_unicode_greek.html][math_unicode_greek]]
@@ -1201,9 +1208,10 @@ Fix the font size of line number
 I like [[https://github.com/coldnew/linum-relative][linum-relative]], just like the =set relativenumber= on =vim=
 
 #+BEGIN_SRC emacs-lisp :tangle yes :results silent
-
   (use-package linum-relative
     :ensure t
+    :init
+    (setq linum-relative-current-symbol "")
     :config
     (defun linum-new-mode ()
       "If line numbers aren't displayed, then display them.
@@ -1218,7 +1226,6 @@ I like [[https://github.com/coldnew/linum-relative][linum-relative]], just like
 
   ;; auto enable linum-new-mode in programming modes
   (add-hook 'prog-mode-hook 'linum-relative-mode)
-
 #+END_SRC
 
 ** Save File Position
@@ -1503,7 +1510,8 @@ brew install the-silver-searcher
     (define-key dired-mode-map (kbd "TAB") 'diredp-next-subdir)
     (define-key dired-mode-map (kbd "K") 'diredp-prev-subdir)
     (define-key dired-mode-map (kbd "O") 'dired-display-file)
-    (define-key dired-mode-map (kbd "I") 'other-window)) 
+    (define-key dired-mode-map (kbd "I") 'other-window)
+    (define-key dired-mode-map (kbd "o") 'other-window)) 
 
   (use-package dired
     :config
@@ -1674,7 +1682,8 @@ here on Mac, just use "open" commands to pen =.pdf=,  =.html= and image files
      ;; should map both (kbd "TAB") and [tab],https://github.com/company-mode/company-mode/issues/75
     (define-key company-active-map (kbd "TAB") #'company-complete-selection)
     (define-key company-active-map [tab] #'company-complete-selection)
-    (global-company-mode))
+    (global-company-mode)
+    (setq company-global-modes '(not org-mode)))
 
   (use-package company-statistics
     :ensure t
@@ -2047,6 +2056,42 @@ irony-company
     :ensure t)
 #+END_SRC
 
+** Scheme
+Install =guile=, =guile= is an implementation of =Scheme= programming language.
+#+BEGIN_SRC sh
+  brew install guile
+#+END_SRC
+
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+  (setq geiser-scheme-implementation 'guile)
+#+END_SRC
+
+#+BEGIN_SRC scheme
+  (define a "3")
+  a
+#+END_SRC
+
+#+RESULTS:
+: 3
+
+** Racket
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+  (use-package racket-mode
+    :ensure t
+    :config
+    (define-key racket-mode-map (kbd "s-r") 'racket-run)
+    (add-to-list 'racket-mode-hook (lambda () (lispy-mode 1))))
+
+  ;; set racket path
+  (setenv "PATH" (concat (getenv "PATH")
+                         ":" "/Applications/Racket v6.6/bin"))
+  (setenv "MANPATH" (concat (getenv "MANPATH")
+                            ":" "/Applications/Racket v6.6/man"))
+  (setq exec-path (append exec-path '("/Applications/Racket v6.6/bin")))
+
+  (add-to-list 'auto-mode-alist '("\\.rkt\\'" . racket-mode))
+#+END_SRC
+
 * Compile
 Set the environments vairables in compilation mode
 #+BEGIN_SRC emacs-lisp :tangle yes :results silent