[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/haskell-tng-mode 5251477 186/385: thots
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/haskell-tng-mode 5251477 186/385: thots |
Date: |
Tue, 5 Oct 2021 23:59:28 -0400 (EDT) |
branch: elpa/haskell-tng-mode
commit 52514776abb5d16f51aa6d524159ade1b011ddcf
Author: Tseen She <ts33n.sh3@gmail.com>
Commit: Tseen She <ts33n.sh3@gmail.com>
thots
---
README.md | 20 ++++++++++++++------
haskell-tng-smie.el | 2 ++
2 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index 0d69112..594dfb7 100644
--- a/README.md
+++ b/README.md
@@ -50,15 +50,13 @@ This is the status of core features:
- Navigation:
- [x] performance-minded `syntax-table`
- [x] `font-lock` to visually distinguish types and values
- - [x] `sexp` navigation (SMIE)
+ - [x] `sexp` navigation
- [x] `projectile` / [`fast-tags`](https://github.com/elaforge/fast-tags)
integration for `TAGS`
- [ ] `imenu` population
- Editing:
- - [ ] indentation (SMIE) (IN PROGRESS)
+ - [x] indentation
- [ ] `abbrev` table
- [ ] `yasnippet` templates
- - [ ] quick add `LANGUAGE` (with auto-populated completions from ghc)
- - [ ] quick add `import`
- [x] `prettify-symbols` emulating `UnicodeSyntax`
- [x] `stylish-haskell` support
- Compiling:
@@ -70,9 +68,18 @@ Compatibility with `lsp-mode` /
[`haskell-ide-engine`](https://github.com/haskel
## Future Plans
-Some blue sky features are being considered but may be best as independent
projects:
+Semantic tooling will likely take the form of a standalone cli tool that is
called from Emacs.
+
+The highest priority features are:
+
+1. fully qualified name and type of symbol at point
+2. search for symbol and typesig (e.g. import symbol at point)
+3. jump to source of symbol at point
+
+Blue sky features:
- Imports
+ - quick manual add `import`
- company-mode backend specific to import sections that detect context,
powered by local hoogle cli
- expand import list into explicit list (perhaps via `:browse` but better as
standalone tool) for symbol-at-point (assuming no shadowing).
- convert wildcard import to explicit list
@@ -83,6 +90,7 @@ Some blue sky features are being considered but may be best
as independent proje
- local cli search
- local / remote search with doc in browser
- `.cabal` editing / navigation
+ - add `LANGUAGE` (with auto-populated completions from ghc)
- helpers to generate version bounds, even if it's just expanding the latest
version of a package `cabal gen-bounds`, `cabal outdated`, `cabal-plan`.
- project wide grep (including dependencies).
- add `build-depends` based on FQNs and a local index of hackage.
@@ -99,7 +107,7 @@ Some blue sky features are being considered but may be best
as independent proje
- [visualise values as
types](https://twitter.com/jyothsnasrin/status/1039530556080283648)
- [`djinn`](https://hackage.haskell.org/package/djinn) /
[`justdoit`](https://hackage.haskell.org/package/ghc-justdoit) integration
- [`pointfree`](https://hackage.haskell.org/package/pointfree) integration
-- is there a solution to thinking "right to left" vs writing "left to right"?
+- is there a solution to thinking "right to left" vs writing "left to right"?
(easy left token movement?)
- identify trivial / helper functions and forward their `edit-definition` to
another location.
- Code gen
- `instance` boilerplate (populate `where` with functions that are needed)
diff --git a/haskell-tng-smie.el b/haskell-tng-smie.el
index d640e3a..f6a2b70 100644
--- a/haskell-tng-smie.el
+++ b/haskell-tng-smie.el
@@ -467,6 +467,8 @@ Inspired by `smie-indent--parent', which can only be used in
(push (car tok) tokens)))
(reverse tokens))))
+;; TODO smie-powered non-indentation features, e.g. sort-list
+
;; SMIE wishlist, in order of desirability:
;;
;; 1. if the lexer could return lists of tokens.
- [nongnu] elpa/haskell-tng-mode 82312a2 126/385: working compilation matchers, (continued)
- [nongnu] elpa/haskell-tng-mode 82312a2 126/385: working compilation matchers, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 794c80b 131/385: better indentation alts, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode d43fd73 141/385: more efficient indentation 'insert test, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode a830fcb 135/385: reindention test, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode aa2a0ad 146/385: prefer --enable-tests, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode a754020 144/385: indent alts will suggest based on previous <- lines, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 9023dc6 164/385: don't rely on line-based indentation rules, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode fdaaf38 148/385: indent after "in", ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode e2c60a9 161/385: prep for records, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 8e4f438 184/385: don't continue indenting one liner types, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 5251477 186/385: thots,
ELPA Syncer <=
- [nongnu] elpa/haskell-tng-mode 41f1ad5 191/385: document fast-tags, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 4ec6259 185/385: prefer the lexer, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 1475f31 196/385: workaround bad indentation at the end of files, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 4b0ab71 199/385: indent type signatures on separate lines, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 950d094 210/385: projectile is not core, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 2df165a 229/385: electric indent locally disabled only, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 56ee2aa 231/385: completions alpha, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 6e938d0 230/385: workaround cabal bug, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 444664d 257/385: special case indentation of visual line breaks, ELPA Syncer, 2021/10/06
- [nongnu] elpa/haskell-tng-mode 487989b 241/385: skeleton for contrib-stack, ELPA Syncer, 2021/10/06