diff --git a/.emacs b/.emacs
index dc4b9ad..e167e63 100644
--- a/.emacs
+++ b/.emacs
@@ -1,37 +1,56 @@
+(show-paren-mode)
+
;; Packages
+(require 'package)
+(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
(package-initialize)
-(add-to-list 'package-archives
- (cons "melpa" "https://melpa.org/packages/") t)
+(setq package-selected-packages
+ '(dart-mode lsp-mode lsp-dart lsp-treemacs flycheck company
+ lsp-ui hover web-mode alchemist elixir-mode))
+(when (cl-find-if-not #'package-installed-p package-selected-packages)
+ (package-refresh-contents)
+ (mapc #'package-install package-selected-packages))
;; Adams
(add-to-list 'auto-mode-alist '("\\.adams\\'" . lisp-mode))
-;; web-mode
-(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
-(add-to-list 'auto-mode-alist '("\\.eex\\'" . web-mode))
+;; Dart
+(add-hook 'dart-mode-hook 'lsp)
+(setq gc-cons-threshold (* 100 1024 1024)
+ read-process-output-max (* 1024 1024)
+ company-minimum-prefix-length 1
+ lsp-lens-enable t
+ lsp-signature-auto-activate nil)
;; Erlang
-(add-to-list 'load-path "/usr/local/lib/erlang21/lib/tools-3.0.2/emacs")
-(setq erlang-root-dir "/usr/local/lib/erlang21")
-(setq exec-path (cons "/usr/local/lib/erlang21/bin" exec-path))
+(add-to-list 'load-path "/opt/homebrew/lib/erlang/lib/tools-3.5.2/emacs")
+(setq erlang-root-dir "/opt/homebrew/lib/erlang")
+(setq exec-path (cons "/opt/homebrew/lib/erlang/bin" exec-path))
(require 'erlang-start)
+;; Ruby
+(setq ruby-insert-encoding-magic-comment nil)
+
;; slime
(add-to-list 'load-path "~/common-lisp/slime/slime/")
(require 'slime-autoloads)
(add-to-list 'slime-contribs 'slime-fancy)
(setq inferior-lisp-program
- "/usr/local/bin/sbcl")
+ "/opt/homebrew/bin/sbcl")
(setq common-lisp-hyperspec-root
- "/usr/share/doc/hyperspec/HyperSpec/")
+ "/opt/homebrew/share/doc/hyperspec/HyperSpec/")
+(setq common-lisp-hyperspec-symbol-table
+ (concat common-lisp-hyperspec-root "Data/Map_Sym.txt"))
+(setq common-lisp-hyperspec-issuex-table
+ (concat common-lisp-hyperspec-root "Data/Map_IssX.txt"))
(setq slime-net-coding-system
'utf-8-unix)
-;; ruby
-(setq ruby-insert-encoding-magic-comment nil)
+;; web-mode
+(add-to-list 'auto-mode-alist '("\\.erb\\'" . web-mode))
+(add-to-list 'auto-mode-alist '("\\.eex\\'" . web-mode))
-;; customize
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
@@ -45,23 +64,19 @@
'(inhibit-startup-screen t)
'(js-indent-level 2)
'(menu-bar-mode nil)
- '(package-selected-packages '(web-mode alchemist elixir-mode))
- '(scroll-bar-mode nil)
- '(show-paren-mode t)
- '(tool-bar-mode nil)
+ '(package-selected-packages '(haml-mode alchemist elixir-mode json-mode web-mode))
+ '(web-mode-attr-indent-offset nil)
'(web-mode-code-indent-offset 2)
- '(web-mode-css-indent-offset 2)
'(web-mode-markup-indent-offset 2))
(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 (:inherit nil :extend nil :stipple nil :background "#fff" :foreground "#000" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 1 :width normal :foundry "default" :family "default"))))
+ '(default ((t (:inherit nil :extend nil :stipple nil :foreground "#000" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 100 :width normal :foundry "courier" :family "adobe"))))
'(fringe ((t (:background "white"))))
'(mode-line ((t (:background "gray" :foreground "black"))))
'(mode-line-inactive ((t (:inherit mode-line :background "grey" :foreground "gray30"))))
- '(region ((t nil)))
'(window-divider ((t (:foreground "gray"))))
'(window-divider-first-pixel ((t (:foreground "blue"))))
'(window-divider-last-pixel ((t (:foreground "gray")))))