forked from SublimeHaskell/SublimeHaskell
-
Notifications
You must be signed in to change notification settings - Fork 1
/
TODO.txt
43 lines (39 loc) · 2.24 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
TODO
====
* Check that external binaries exist (cabal, ghc, HLint, ...) before trying to run them
* Add "go to definition" (alt-click)
* Add "find all references"
* Add HLint support
* Make ModuleInspector an uploaded Cabal package
* Give it a better name
* Add useful command-line options:
* version: mostly to make sure it exists
* inspect: produce summary of a module's declarations as JSON
* See if the buildwrapper package could be used instead
Autobuild (error checking)
---------
* Check for syntax errors in the current file before trying to build (use the ModuleInspector)
* Add a syntax definition for the error panel format, so that error messages are highlighted
* Highlight errors and warnings in the view showing that file instead of all in the current view
* Run "cabal configure" when necessary
* Highlight partial, "bottom"-valued, and unsafe functions: head, undefined, error, etc.
Autocomplete
------------
* Find the declarations of constructors, record fields, class functions, and other non-top-level declarations
* Somehow include Prelude and library functions
* Hard-coded? (.sublime-completions file)
* Feature request: multiline tooltip next to the autocomplete list to show details of the selected completion
* List type (a -> b, data, newtype, class, ...) for each suggestion
* Namespace
* Docstring
* Automatically inspect Haskell source files when they are opened
* Delete entries from the module info cache when files are deleted
Syntax highlighting
-------------------
* Submit the patch for (H/H.tmLanguage.orig -> Haskell/Haskell.tmLanguage)
* Most of the types in type signatures (except the first one) are incorrectly classified as "storage.type" -- should be something like "user-defined class"
* "Just" and "Nothing" are classified as "support.constant" -- should probably be either "support.type" or "support.class"
* It would be nice to draw modules names (in fully-qualified names) in a light gray color to be less distracting
* At a minimum, they should not be colored like types and constructors
* User-defined operators should not be keyword-colored, they should be colored like other user-defined functions
* Add theme rules for XML scopes (compare with Monokai's supported scopes)