Add working fsharp installation
This commit is contained in:
parent
341a2b0ee7
commit
6e0b17c263
4 changed files with 56 additions and 4 deletions
7
init.el
7
init.el
|
|
@ -47,6 +47,7 @@
|
||||||
(require 'languages/javascript "$HOME/.emacs.d/languages/javascript.el")
|
(require 'languages/javascript "$HOME/.emacs.d/languages/javascript.el")
|
||||||
(require 'languages/elixir "$HOME/.emacs.d/languages/elixir.el")
|
(require 'languages/elixir "$HOME/.emacs.d/languages/elixir.el")
|
||||||
(require 'languages/erlang "$HOME/.emacs.d/languages/erlang.el")
|
(require 'languages/erlang "$HOME/.emacs.d/languages/erlang.el")
|
||||||
|
(require 'languages/fsharp "$HOME/.emacs.d/languages/fsharp.el")
|
||||||
(require 'languages/sh "$HOME/.emacs.d/languages/sh.el")
|
(require 'languages/sh "$HOME/.emacs.d/languages/sh.el")
|
||||||
(require 'languages/rust "$HOME/.emacs.d/languages/rust.el")
|
(require 'languages/rust "$HOME/.emacs.d/languages/rust.el")
|
||||||
(require 'languages/haskell "$HOME/.emacs.d/languages/haskell.el")
|
(require 'languages/haskell "$HOME/.emacs.d/languages/haskell.el")
|
||||||
|
|
@ -62,7 +63,7 @@
|
||||||
;; Your init file should contain only one such instance.
|
;; Your init file should contain only one such instance.
|
||||||
;; If there is more than one, they won't work right.
|
;; If there is more than one, they won't work right.
|
||||||
'(package-selected-packages
|
'(package-selected-packages
|
||||||
'(dante dash-at-point racer racer-mode flycheck-rust rust-mode haskell-mode dune which-key erlang gitignore-mode yaml-mode nginx-mode ansible terraform-mode dockerfile-mode reason-mode merlin tuareg clj-refactor cider clojure-mode elixir-mode js2-mode web-mode enh-ruby-mode ruby-end rspec-mode planet-theme flatui-theme base16-theme smart-mode-line lsp-ui lsp-mode deft counsel-projectile flycheck company yasnippet-snippets yasnippet visual-regexp column-enforce-mode rainbow-mode rainbow-delimiters magit hydra counsel keyfreq exec-path-from-shell buffer-move use-package))
|
'(fsharp-mode dante dash-at-point racer racer-mode flycheck-rust rust-mode haskell-mode dune which-key erlang gitignore-mode yaml-mode nginx-mode ansible terraform-mode dockerfile-mode reason-mode merlin tuareg clj-refactor cider clojure-mode elixir-mode js2-mode web-mode enh-ruby-mode ruby-end rspec-mode planet-theme flatui-theme base16-theme smart-mode-line lsp-ui lsp-mode deft counsel-projectile flycheck company yasnippet-snippets yasnippet visual-regexp column-enforce-mode rainbow-mode rainbow-delimiters magit hydra counsel keyfreq exec-path-from-shell buffer-move use-package))
|
||||||
'(safe-local-variable-values
|
'(safe-local-variable-values
|
||||||
'((haskell-process-use-ghci . t)
|
'((haskell-process-use-ghci . t)
|
||||||
(haskell-indent-spaces . 4))))
|
(haskell-indent-spaces . 4))))
|
||||||
|
|
@ -74,8 +75,8 @@
|
||||||
;; Your init file should contain only one such instance.
|
;; Your init file should contain only one such instance.
|
||||||
;; If there is more than one, they won't work right.
|
;; If there is more than one, they won't work right.
|
||||||
'(font-lock-constant-face ((((type graphic)) (:foreground "#dfaf8f")) (((min-colors 256)) (:foreground "brightred")) (t (:foreground "brightred"))))
|
'(font-lock-constant-face ((((type graphic)) (:foreground "#dfaf8f")) (((min-colors 256)) (:foreground "brightred")) (t (:foreground "brightred"))))
|
||||||
'(font-lock-type-face ((t (:foreground "#ffcb6b" :family "IBM Plex Mono"))))
|
'(font-lock-type-face ((t (:foreground "#ffcb6b" :family "Hack"))))
|
||||||
'(markdown-code-face ((t (:inherit fixed-pitch :family "IBM Plex Mono")))))
|
'(markdown-code-face ((t (:inherit fixed-pitch :family "Hack")))))
|
||||||
|
|
||||||
;; Restore GC to normal, but still high
|
;; Restore GC to normal, but still high
|
||||||
(setq gc-cons-threshold 100000000)
|
(setq gc-cons-threshold 100000000)
|
||||||
|
|
|
||||||
30
languages/fsharp.el
Normal file
30
languages/fsharp.el
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
;;; fsharp.el --- summary
|
||||||
|
|
||||||
|
;; Author: Maciej Szlosarczyk
|
||||||
|
;; Maintainer: Maciej Szlosarczyk
|
||||||
|
;; Version: 0.1-snapshot
|
||||||
|
|
||||||
|
;;; Commentary:
|
||||||
|
|
||||||
|
;; Fsharp configuration
|
||||||
|
|
||||||
|
;;; Code:
|
||||||
|
|
||||||
|
(require '05prog-mode "$HOME/.emacs.d/05prog-mode.el")
|
||||||
|
(require '05flycheck "$HOME/.emacs.d/05flycheck.el")
|
||||||
|
|
||||||
|
(use-package fsharp-mode
|
||||||
|
:requires (lsp-mode lsp-ui)
|
||||||
|
:ensure t
|
||||||
|
:defer t)
|
||||||
|
|
||||||
|
(defun activate-fsharp-mode ()
|
||||||
|
"Activate F# goodies."
|
||||||
|
(set-indent 4)
|
||||||
|
(column-enforce-n 100)
|
||||||
|
(lsp-deferred))
|
||||||
|
|
||||||
|
(add-hook 'fsharp-mode-hook 'activate-fsharp-mode)
|
||||||
|
|
||||||
|
(provide 'languages/fsharp)
|
||||||
|
;;; fsharp.el ends here
|
||||||
|
|
@ -58,10 +58,29 @@ _o_: Update opam env
|
||||||
;; Use tuareg-opam with lock files
|
;; Use tuareg-opam with lock files
|
||||||
(add-to-list 'auto-mode-alist '("\\.opam.locked\\'" . tuareg-opam-mode))
|
(add-to-list 'auto-mode-alist '("\\.opam.locked\\'" . tuareg-opam-mode))
|
||||||
|
|
||||||
|
(defhydra my-reason/context-hydra (:color teal :hint nil)
|
||||||
|
"
|
||||||
|
Reason actions
|
||||||
|
|
||||||
|
^Reason^ ^Actions^
|
||||||
|
^^^^^^^^-----------------------------------------------------------------------
|
||||||
|
_f_: Format buffer
|
||||||
|
_o_: Update opam env
|
||||||
|
"
|
||||||
|
("q" nil "cancel" :color blue)
|
||||||
|
|
||||||
|
("f" refmt)
|
||||||
|
("o" tuareg-opam-update-env))
|
||||||
|
|
||||||
|
(defun my-reason-mode ()
|
||||||
|
"Generate reason config."
|
||||||
|
(define-key reason-mode-map (kbd "C-c l") 'my-reason/context-hydra/body))
|
||||||
|
|
||||||
;; Reason setup
|
;; Reason setup
|
||||||
(add-hook 'reason-mode-hook
|
(add-hook 'reason-mode-hook
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(add-hook 'before-save-hook #'refmt-before-save)))
|
(add-hook 'before-save-hook #'refmt-before-save)))
|
||||||
|
(add-hook 'reason-mode-hook 'my-reason-mode)
|
||||||
(add-hook 'reason-mode-hook 'merlin-mode)
|
(add-hook 'reason-mode-hook 'merlin-mode)
|
||||||
|
|
||||||
(provide 'languages/ocaml)
|
(provide 'languages/ocaml)
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,9 @@
|
||||||
(set-face-attribute 'default nil :font (format "%s %d" name size))
|
(set-face-attribute 'default nil :font (format "%s %d" name size))
|
||||||
(set-face-attribute 'mode-line nil :font (format "%s %d" name size)))
|
(set-face-attribute 'mode-line nil :font (format "%s %d" name size)))
|
||||||
|
|
||||||
(set-font "IBM Plex Mono" 16)
|
;; Set font
|
||||||
|
;; (set-font "IBM Plex Mono" 16)
|
||||||
|
(set-font "Hack" 16)
|
||||||
|
|
||||||
;; Remove ugly black line
|
;; Remove ugly black line
|
||||||
(set-face-attribute 'vertical-border nil :foreground
|
(set-face-attribute 'vertical-border nil :foreground
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue