2019-10-09 20:36:55 +02:00
|
|
|
(require 'package)
|
|
|
|
|
(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))
|
|
|
|
|
(not (gnutls-available-p))))
|
|
|
|
|
(proto (if no-ssl "http" "https")))
|
|
|
|
|
(when no-ssl
|
|
|
|
|
(warn "\
|
|
|
|
|
Your version of Emacs does not support SSL connections,
|
|
|
|
|
which is unsafe because it allows man-in-the-middle attacks.
|
|
|
|
|
There are two things you can do about this warning:
|
|
|
|
|
1. Install an Emacs version that does support SSL and be safe.
|
|
|
|
|
2. Remove this warning from your init file so you won't see it again."))
|
|
|
|
|
;; Comment/uncomment these two lines to enable/disable MELPA and MELPA Stable as desired
|
|
|
|
|
(add-to-list 'package-archives (cons "melpa" (concat proto "://melpa.org/packages/")) t)
|
|
|
|
|
;;(add-to-list 'package-archives (cons "melpa-stable" (concat proto "://stable.melpa.org/packages/")) t)
|
|
|
|
|
(when (< emacs-major-version 24)
|
|
|
|
|
;; For important compatibility libraries like cl-lib
|
|
|
|
|
(add-to-list 'package-archives (cons "gnu" (concat proto "://elpa.gnu.org/packages/")))))
|
|
|
|
|
(package-initialize)
|
|
|
|
|
(custom-set-variables
|
|
|
|
|
;; custom-set-variables 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.
|
|
|
|
|
'(custom-safe-themes
|
|
|
|
|
(quote
|
|
|
|
|
("a24c5b3c12d147da6cef80938dca1223b7c7f70f2f382b26308eba014dc4833a" "a7051d761a713aaf5b893c90eaba27463c791cd75d7257d3a8e66b0c8c346e77" default)))
|
|
|
|
|
'(package-selected-packages
|
|
|
|
|
(quote
|
2019-10-27 19:05:34 +01:00
|
|
|
(json-mode flymake-json tss tide material-theme zenburn-theme ac-js2 auto-complete projectile helm js2-mode cargo rust-mode))))
|
2019-10-09 20:36:55 +02:00
|
|
|
(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.
|
|
|
|
|
)
|
|
|
|
|
(setq rust-format-on-save t)
|
|
|
|
|
(add-hook 'rust-mode-hook 'cargo-minor-mode)
|
|
|
|
|
(add-to-list 'auto-mode-alist '("\\.js\\'" . js2-mode))
|
|
|
|
|
(require 'helm-config)
|
|
|
|
|
(projectile-mode +1)
|
|
|
|
|
(define-key projectile-mode-map (kbd "s-p") 'projectile-command-map)
|
|
|
|
|
(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map)
|
|
|
|
|
(require 'auto-complete-config)
|
|
|
|
|
(ac-config-default)
|
|
|
|
|
(add-hook 'js2-mode-hook 'ac-js2-mode)
|
|
|
|
|
(setq ac-js2-evaluate-calls t)
|
|
|
|
|
(load-theme 'zenburn t)
|
2019-10-27 19:05:34 +01:00
|
|
|
(require 'typescript-mode)
|
|
|
|
|
(add-to-list 'auto-mode-alist '("\\.ts\\'" . typescript-mode))
|
|
|
|
|
|
|
|
|
|
(defun setup-tide-mode ()
|
|
|
|
|
(interactive)
|
|
|
|
|
(tide-setup)
|
|
|
|
|
(flycheck-mode +1)
|
|
|
|
|
(setq flycheck-check-syntax-automatically '(save mode-enabled))
|
|
|
|
|
(eldoc-mode +1)
|
|
|
|
|
(tide-hl-identifier-mode +1)
|
|
|
|
|
;; company is an optional dependency. You have to
|
|
|
|
|
;; install it separately via package-install
|
|
|
|
|
;; `M-x package-install [ret] company`
|
|
|
|
|
(company-mode +1))
|
|
|
|
|
|
|
|
|
|
;; aligns annotation to the right hand side
|
|
|
|
|
(setq company-tooltip-align-annotations t)
|
|
|
|
|
|
|
|
|
|
;; formats the buffer before saving
|
|
|
|
|
(add-hook 'before-save-hook 'tide-format-before-save)
|
|
|
|
|
|
|
|
|
|
(add-hook 'typescript-mode-hook #'setup-tide-mode)
|
|
|
|
|
(add-hook 'json-mode #'flycheck-mode)
|