   :config
   (which-key-mode))
 
+(use-package editorconfig
+  :ensure t
+  :config
+  (editorconfig-mode 1))
+
+;; golang
+(use-package go-mode)
+
+;; javascript
+(define-key js-mode-map (kbd "m-.") nil)
+(use-package js2-refactor)
+(use-package xref-js2)
+(use-package js2-mode)
+  ;; :init
+  ;; (add-hook 'js2-mode-hook #'js2-refactor-mode)
+  ;; (js2r-add-keybindings-with-prefix "C-c C-r")
+  ;; (define-key js2-mode-map (kbd "C-k") #'js2r-kill)
+  ;; (add-hook 'js2-mode-hook (lambda ()
+  ;;                            (add-hook 'xref-backend-functions #'xref-js2-xref-backend nil t))))
+
+
 (custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.

;; rest client
(use-package restclient)

;; auto complete
(use-package company
  :config
  (global-company-mode))

(use-package company-restclient)

(use-package ivy
  :init

 ;; If there is more than one, they won't work right.
 '(package-selected-packages
   (quote
    (company-tern emmet-mode emmet parinfer go-mode dracula-theme counsel-projectile dashboard better-defaults eink-theme company-restclient restclient-company company company-mode leuven-theme material-theme avy which-key cider evil-org evil-leader magit powerline-evil powerline s use-package))))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
