Add working fsharp installation

This commit is contained in:
Maciej 2020-09-07 12:08:04 +03:00
parent 341a2b0ee7
commit 6e0b17c263
Signed by: maciej
GPG key ID: 41D62D42D3B0D765
4 changed files with 56 additions and 4 deletions

View file

@ -47,6 +47,7 @@
(require 'languages/javascript "$HOME/.emacs.d/languages/javascript.el")
(require 'languages/elixir "$HOME/.emacs.d/languages/elixir.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/rust "$HOME/.emacs.d/languages/rust.el")
(require 'languages/haskell "$HOME/.emacs.d/languages/haskell.el")
@ -62,7 +63,7 @@
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(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
'((haskell-process-use-ghci . t)
(haskell-indent-spaces . 4))))
@ -74,8 +75,8 @@
;; Your init file should contain only one such instance.
;; 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-type-face ((t (:foreground "#ffcb6b" :family "IBM Plex Mono"))))
'(markdown-code-face ((t (:inherit fixed-pitch :family "IBM Plex Mono")))))
'(font-lock-type-face ((t (:foreground "#ffcb6b" :family "Hack"))))
'(markdown-code-face ((t (:inherit fixed-pitch :family "Hack")))))
;; Restore GC to normal, but still high
(setq gc-cons-threshold 100000000)

30
languages/fsharp.el Normal file
View 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

View file

@ -58,10 +58,29 @@ _o_: Update opam env
;; Use tuareg-opam with lock files
(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
(add-hook 'reason-mode-hook
(lambda ()
(add-hook 'before-save-hook #'refmt-before-save)))
(add-hook 'reason-mode-hook 'my-reason-mode)
(add-hook 'reason-mode-hook 'merlin-mode)
(provide 'languages/ocaml)

View file

@ -39,7 +39,9 @@
(set-face-attribute 'default 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
(set-face-attribute 'vertical-border nil :foreground