emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/haskell-tng-mode 36ece6d 117/385: low hanging fruit


From: ELPA Syncer
Subject: [nongnu] elpa/haskell-tng-mode 36ece6d 117/385: low hanging fruit
Date: Tue, 5 Oct 2021 23:59:13 -0400 (EDT)

branch: elpa/haskell-tng-mode
commit 36ece6d87a84b77e0ef09e48f3825e7fba0addd0
Author: Tseen She <ts33n.sh3@gmail.com>
Commit: Tseen She <ts33n.sh3@gmail.com>

    low hanging fruit
---
 README.md              |  7 +++++--
 haskell-tng-compile.el |  6 ++++--
 haskell-tng-mode.el    | 17 ++++++++++++++++-
 3 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/README.md b/README.md
index b2b64be..96c439d 100644
--- a/README.md
+++ b/README.md
@@ -51,7 +51,7 @@ This is the status of core features:
   - [x] performance-minded `syntax-table`
   - [x] `font-lock` to visually distinguish types and values
   - [x] `sexp` navigation (SMIE)
-  - [ ] `projectile` / [`fast-tags`](https://github.com/elaforge/fast-tags) 
integration for `TAGS`
+  - [x] `projectile` / [`fast-tags`](https://github.com/elaforge/fast-tags) 
integration for `TAGS`
   - [ ] hoogle CLI jump-to-source
   - [ ] `imenu` population
 - Editing:
@@ -60,8 +60,11 @@ This is the status of core features:
   - [ ] `yasnippet` templates
   - [ ] `LANGUAGE` management
   - [ ] `import` management (via hoogle and 
[`hsimport`](https://hackage.haskell.org/package/hsimport))
+  - [x] `prettify-symbols` emulating `UnicodeSyntax`
+  - [x] `stylish-haskell` support
 - Compiling:
-  - [ ] `compilation-mode` for `cabal` batch commands (IN PROGRESS)
+  - [x] `haskell-tng-compile` for `cabal` batch commands
+  - [x] `stack` support (via `stack2cabal`)
   - [ ] `comint-mode` based `ghc` repl
 
 Compatibility with `lsp-mode` / 
[`haskell-ide-engine`](https://github.com/haskell/haskell-ide-engine) is 
important for more advanced IDE features.
diff --git a/haskell-tng-compile.el b/haskell-tng-compile.el
index 0aad467..bfc311c 100644
--- a/haskell-tng-compile.el
+++ b/haskell-tng-compile.el
@@ -38,7 +38,8 @@ command, otherwise the last command is used.
 
 The command history is global across all Haskell files.
 
-A universal argument will invoke `haskell-tng-compile:alt'."
+A universal argument will invoke `haskell-tng-compile:alt', which
+will cause the subsequent call to prompt."
   (interactive "P")
   (save-some-buffers (not compilation-ask-about-save)
                      compilation-save-buffers-predicate)
@@ -50,7 +51,8 @@ A universal argument will invoke `haskell-tng-compile:alt'."
                         "Compile command: "
                         (or last (car haskell-tng-compile:history))
                         '(haskell-tng-compile:history . 1))))))
-    (setq-local haskell-tng-compile:command command)
+    (setq haskell-tng-compile:command
+          (unless (equal command haskell-tng-compile:alt) command))
 
     (when-let (default-directory
                 (haskell-tng:locate-dominating-file
diff --git a/haskell-tng-mode.el b/haskell-tng-mode.el
index 8047f9e..7ecef2c 100644
--- a/haskell-tng-mode.el
+++ b/haskell-tng-mode.el
@@ -25,6 +25,16 @@
   "Haskell support: The Next Generation."
   :group 'languages)
 
+(defcustom haskell-tng-mode:prettify-symbols
+  '(("forall" . ?∀))
+ "Integration with `prettify-symbols' giving the impression of UnicodeSyntax.
+
+Load `prettify-symbols-mode' in `haskell-tng-mode-hook'."
+ :type 'listp)
+
+;; optional dependency on projectile for TAGS management
+(defvar projectile-tags-command)
+
 ;;;###autoload
 (define-derived-mode haskell-tng-mode prog-mode "Hask"
   "Major mode for editing Haskell programs."
@@ -64,7 +74,12 @@
    font-lock-extend-region-functions haskell-tng:extend-region-functions
 
    ;; whitespace is meaningful, no electric indentation
-   electric-indent-inhibit t)
+   electric-indent-inhibit t
+
+   ;; integrations
+   prettify-symbols-alist haskell-tng-mode:prettify-symbols
+   projectile-tags-command "fast-tags -Re --exclude=dist-newstyle ."
+   )
 
   (haskell-tng-smie:setup))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]