Permalink
Browse files

add internal doc

  • Loading branch information...
vladdu committed Jun 3, 2016
1 parent db3e97b commit 84174c7b02a4e194bb716a8067eb02108fdfb6d0
Showing with 70 additions and 0 deletions.
  1. +70 −0 docs/model_api.md
View
@@ -0,0 +1,70 @@
# input
* add project (+config!)
* add/remove/update file/dir
* update text @pos (value)
#output
## syntax highlighting
* get tokens @pos @length
* spi for semantic handlers (filter token list, replace with enhanced kind)
## outline / content assist
* get Type of Scope (matching Pattern)
* get docs of Item
* spi for doc handlers
## search
* get refs of Item
* get defs of Item
advanced:
* get undefined (all with defs==0)
* get unused (all with refs==0)
* spi for filters
## validation
* get markers for Container
* spi to add validators: syntax, xrefs, etc
## folding
## pretty-print/indent
## partitioning
# others
These don't need the model machinery?
## templates
## quick fixes
## autoedit
## wizards?
# interface with Java
* do we cache anything on the java side? preliminary: only values for currently visible/active stuff
* java objects have no state, are just values
* use events extensively (both directions), so that we don't have to keep track of hundreds of listeners
* we need generic implementations of eclipse functionality that listens/sends events (see xtext?)
CAN WE DO THIS WITHOUT STARTING AFRESH?
# SPI in Erlang
How to implement plugin functionality in Erlang? More precisely, how we register and find all modules implementing a certain extension point (to use Eclipse terminology)

0 comments on commit 84174c7

Please sign in to comment.