   :mode "\\.html?\\'"
   :mode "\\.gotmpl\\'"
   :mode "\\.handlebars\\'"
+  :mode "\\.php\\'"
   :mode "\\.vue\\'"
   :ensure-system-package ((css-languageserver . "npm i -g vscode-css-languageserver-bin")
                           (html-languageserver . "npm i -g vscode-html-languageserver-bin"))

  :config
  (add-to-list 'company-backends 'company-elm))

(defun go-config/hook ()
  (add-hook 'before-save-hook 'gofmt-before-save)
  (add-to-list 'load-path (concat (getenv "GOPATH") "/src/github.com/golang/lint/misc/emacs")))

(use-package golint
  :after (go-mode))

(use-package go-mode
  :mode "\\(\\.go\\|go.mod\\|go.sum\\)\\'"
  :bind (:map go-mode-map
              ("C-x t f" . go-test-current-file)
              ("C-x t t" . go-test-current-test))
  :init
  (setq gofmt-command "goimports")
  :config
  (add-hook 'go-mode-hook 'go-config/hook))

(use-package haskell-mode
  :mode (("\\.hcr\\'" . ghc-core-mode)

  (company-idle-delay .3)
  (company-echo-delay 0)
  (company-begin-commands '(self-insert-command)))

(use-package company-lsp
  :commands company-lsp)
