;; 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
(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."))
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
: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))
#+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]]
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.
;; auto enable linum-new-mode in programming modes
(add-hook 'prog-mode-hook 'linum-relative-mode)
-
#+END_SRC
** Save File Position
(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
;; 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
: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