Permalink
Browse files

Updating the TODO list.

  • Loading branch information...
1 parent dc79877 commit 4fc6968b7f07d4e672b46705c3f0f327e23e61ff @holmak holmak committed Mar 8, 2012
Showing with 27 additions and 6 deletions.
  1. +27 −6 TODO.txt
View
@@ -1,15 +1,36 @@
TODO
====
-* Implement smarter auto-complete, based on module export lists
-* Underline errors in red
+* Check that external binaries exist (cabal, ghc, HLint, ...) before trying to run them
* Add "go to definition" (alt-click)
-* Show function type/docs (in status bar?)
* Add "find all references"
* Add HLint support
+
+Error checking
+--------------
* 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 functions and "bottom"-valued functions: head, undefined, error, etc.
+
+Autocomplete
+------------
+* Get export list of each module:
+ * Either read explicit export list, or, if implicit, include all the declarations
+* Get all the modules imported into the current file
+* Somehow include Prelude and library functions
+ * Hard-coded? (.sublime-completions file)
+* List type (a -> b, data, newtype, class, ...) after each suggestion
+* Cache information extracted from each file
+ * Create some general utility for caching and auto-updating per-file information in a directory tree
+* Feature request: multiline tooltip next to the autocomplete list that shows details of the selected completion
+ * Details: namespace, type, ...
-Syntax problems
----------------
+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"
+* "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

0 comments on commit 4fc6968

Please sign in to comment.