PageRenderTime 39ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-3-pre5/doc/TODO.txt

#
Plain Text | 258 lines | 223 code | 35 blank | 0 comment | 0 complexity | a8c5c805dcb5a24ee2b336e426047cf3 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. [error] ExtensionManager: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 379
  2. [error] ExtensionManager: at org.gjt.sp.jedit.Buffer.getLineOfOffset(Buffer.java:892)
  3. [error] ExtensionManager: at errorlist.DefaultErrorSource$DefaultError.getLineNumber(DefaultErrorSource.java:510)
  4. [error] ExtensionManager: at errorlist.DefaultErrorSource.findError(DefaultErrorSource.java:330)
  5. [error] ExtensionManager: at errorlist.DefaultErrorSource.getLineErrors(DefaultErrorSource.java:134)
  6. [error] ExtensionManager: at errorlist.ErrorHighlight.paintValidLine(ErrorHighlight.java:53)
  7. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.TextAreaExtension.paintScreenLineRange(TextAreaExtension.java:70)
  8. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.ExtensionManager.paintScreenLineRange(ExtensionManager.java:146)
  9. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.ExtensionManager.paintScreenLineRange(ExtensionManager.java:106)
  10. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.TextAreaPainter.paint(TextAreaPainter.java:699)
  11. [error] ExtensionManager: java.lang.NullPointerException
  12. [error] ExtensionManager: at org.gjt.sp.jedit.Buffer.markTokens(Buffer.java:2161)
  13. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.ChunkCache.lineToChunkList(ChunkCache.java:760)
  14. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.ChunkCache.updateChunksUpTo(ChunkCache.java:635)
  15. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.ChunkCache.getLineInfo(ChunkCache.java:244)
  16. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.TextAreaPainter$PaintText.paintValidLine(TextAreaPainter.java:1039)
  17. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.TextAreaExtension.paintScreenLineRange(TextAreaExtension.java:70)
  18. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.ExtensionManager.paintScreenLineRange(ExtensionManager.java:146)
  19. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.ExtensionManager.paintScreenLineRange(ExtensionManager.java:106)
  20. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.TextAreaPainter.paint(TextAreaPainter.java:699)
  21. TO DO
  22. absolute path completion
  23. does not indent properly:
  24. 1000 [
  25. [
  26. [
  27. [
  28. 50000 cons-a-lot
  29. ] 4 10 make-trash
  30. ] 4 10 make-trash
  31. ] 4 10 make-trash 0 swap [ [ + ] when* ] tree-each drop
  32. ] times
  33. Note that this is not a complete to do list. It mostly only lists bugs
  34. and quirks that I need to fix eventually.
  35. splitting messes up last physical line in the newly created text area
  36. console: cd / repeatedly on windows
  37. ok [error] ExtensionManager: java.lang.NullPointerException
  38. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.StructureMatcher$Highlight.getOffsets(StructureMatcher.java:181)
  39. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.StructureMatcher$Highlight.paintHighlight(StructureMatcher.java:207)
  40. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.StructureMatcher$Highlight.paintValidLine(StructureMatcher.java:147)
  41. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.TextAreaExtension.paintScreenLineRange(TextAreaExtension.java:70)
  42. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.ExtensionManager.paintScreenLineRange(ExtensionManager.java:146)
  43. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.ExtensionManager.paintScreenLineRange(ExtensionManager.java:106)
  44. [error] ExtensionManager: at org.gjt.sp.jedit.textarea.TextAreaPainter.paint(TextAreaPainter.java:699)
  45. + text area:
  46. - click&drag breaks fast scroll
  47. - format: doesn't wrap right if selection starts in the middle of the
  48. line
  49. - ruleset importing trick
  50. - expand fold: try to expand even if already expanded
  51. - backspace with virtual caret: needs tweaks
  52. - independent text area component
  53. - gutter: has a depenency on View to do focus highlight, and Marker
  54. - text area: depends on view for input handling,
  55. smart home/end macro record, showing dialog boxes, abbrevs
  56. - mouse handler: registers
  57. - text area transfer handler: opening files dependency
  58. - new file: explicit folding: type {{{: fold marker doesn't appear
  59. - finish code to hide caret on user input; enter/backspace is a problem
  60. maybe listen for KeyTyped instead
  61. - indent folding: fold marker not always updated
  62. - format: preserve comment chars at start
  63. - tabs to spaces with rect select
  64. - input methods
  65. - remove-marker, select-next/prev-marker/bracket
  66. - format -- instead of \n\n, what if it has \n \n?
  67. - DnD still dosn't work as expected when draging from the same buffer,
  68. but differen text area (for example droping at the position where drag
  69. was started erases text)- no support for vertical pasting
  70. - anoying cursor blinking (responsible for this is scrolling option :
  71. textArea.moveCaretPosition(pos,JEditTextArea.ELECTRIC_SCROLL) in
  72. dragOver() method)
  73. Ideas: a lot of the code in the jedit text area can be simplified
  74. for example, i'm not sure we really need the ChunkCache anymore
  75. just keep the chunks for the currently
  76. painting line around, to speed up the multiple offsetToX()
  77. calls that happen during painting
  78. also, you might want to rip out the text area's
  79. scrolling code, and put in a JScrollPane
  80. + auto indent:
  81. - ? : do not unindent
  82. - deep indent
  83. - Common Lisp &body forms
  84. - pressing enter: carry over * from prev line in javadoc
  85. - javadoc indent: if prev line was /* or *, unindent if prev line is
  86. */
  87. if(foo)
  88. while(bar)
  89. {
  90. //
  91. }
  92. <--- cursor here
  93. - option to disable electric keys
  94. - unindentThisAndFollowing
  95. - indent & syntax tokens
  96. + vfs browser:
  97. - test keyboard completion with expanded/collapsed tree
  98. - test keyboard completion with high latency VFS
  99. - fsb default size
  100. - don't show 'new directory' in favorites:
  101. - file system browser column widths are not saved
  102. + misc:
  103. - kill ring still being reversed
  104. - jEdit.checkBufferStatus() fucks with split panes
  105. - there is a comment in browser.actions.xml:
  106. /* NOTE: I do NOT want plugins creating check box menu items
  107. * in jEdit 4.2! The API is not stable, note the _comp hack...
  108. * in 4.3 I will finish the full action API refactoring and
  109. * IS_SELECTED blocks in browser actions will have access to
  110. * the browser variable just like the CODE block above.
  111. *
  112. * Love, Slava */
  113. - option to disable buffer local properties
  114. - CA+PLUS +: bad
  115. - jedit -encoding
  116. - goToBuffer() -- if any parent has zero height or zero width...
  117. - deferred loading API for macro handlers
  118. - S+INS, etc in swing controls
  119. - vfs: a way of running awt requests not all at end
  120. - wrapped dock buttons broken
  121. + beanshell:
  122. ; after else if()
  123. longs not read correctly if prefixed with 0x
  124. + docs:
  125. - vfs browser changes
  126. - auto indent
  127. - save help index
  128. - document optional dependencies
  129. - deferred loading mention.
  130. - addCommandPath()
  131. - API thread safety
  132. - add note to documentation about exponential-time regexps
  133. - document deep indent
  134. - note about dependencies
  135. - plugin tutorial:
  136. - plugin build environment docs
  137. - auto-created actions
  138. - link to jEdit devel page
  139. - quicknotepad class -- links to API docs
  140. - functions - links to API docs
  141. - quicknotepad docs
  142. - plugin tips and techniques:
  143. - common. properties, using properties for UI strings
  144. - cutting down on startup time
  145. - canned dialog boxes in GUIUtilities
  146. - tools.jar
  147. - string comparison in MiscUtilities
  148. - writing a macro handler
  149. - writing a fold handler
  150. - OperatingSystem class
  151. - option groups
  152. - listening for buffer changes
  153. - canned controls:
  154. animated icon, color well button, enhanced dialog,
  155. font selector, history text field,
  156. jcheckboxlist, rolloverbutton,
  157. variablegridlayout
  158. - displaying a help viewer
  159. - canned icons
  160. - vfs implementation
  161. - running stuff in i/o threads
  162. - multi-threaded i/o
  163. - jeditresource: protocol
  164. - getting line syntax info, textutilities.getTokenAtOffset()
  165. - text area extensions
  166. - text area caret & scroll listeners
  167. - status bar messages & readNextChar()
  168. - vfs javadoc: invokeAndWait() example for createVFSSession()
  169. check tips of the day
  170. - help:
  171. - titles in search are fucked
  172. - sidebars: need a border or some sort
  173. [error] WorkThread: java.lang.ClassCastException
  174. [error] WorkThread: at archive.ArchiveVFS.getDirectories(Unknown Source)
  175. [error] WorkThread: at archive.ArchiveVFS.cacheDirectories(Unknown Source)
  176. [error] WorkThread: at archive.ArchiveVFS._listDirectory(Unknown Source)
  177. [error] WorkThread: at org.gjt.sp.jedit.browser.BrowserIORequest.listDirectory(BrowserIORequest.java:159)
  178. [error] WorkThread: at org.gjt.sp.jedit.browser.BrowserIORequest.run(BrowserIORequest.java:90)
  179. [error] WorkThread: at org.gjt.sp.util.WorkThread.doRequest(WorkThread.java:194)
  180. [error] WorkThread: at org.gjt.sp.util.WorkThread.doRequests(WorkThread.java:161)
  181. [error] WorkThread: at org.gjt.sp.util.WorkThread.run(WorkThread.java:135)
  182. [error] ChunkCache: BUG: skew=1,out.size()=0
  183. [error] ChunkCache: BUG: skew=1,out.size()=1
  184. - C+d & killring
  185. - plugin mgr inspection of not-loaded plugins
  186. - history text field tweak
  187. + obscure:
  188. - no need to wait for requests after newFile()
  189. - class loading problems
  190. - motif l&f: shortcuts in menu items
  191. - some JLists do not auto-scroll on keystroke
  192. - how to handle S+0-9?
  193. - invoking action bar command twice
  194. - backup time distance setting
  195. - if A depends on B but A is loaded before B and B breaks, A ends up
  196. being loaded. Solution: load plugins in order of dependencies?
  197. + performance:
  198. - 7000 line lisp file: window resize is slow
  199. - closing lots of files is slow -- esp. with close all dialog box!
  200. - menu drag: slow
  201. - bracket matching: no delay for current line match??
  202. - final optimization for OffsetManager: scan to zero or scan to end
  203. - do buffer load AWT half immediately after work thread half
  204. - replace all in a directory could be faster
  205. - buffer.setMode() slow
  206. - eliminate redundant scans and events when loading buffer
  207. - don't repaint whole selection when resizing
  208. - could make non-soft wrap chunk merge even faster!
  209. - syntax SPAN::END substitution: String --> char[] --> String
  210. - is getScreenLineOfOffset() called often?
  211. - if caret is at the end of a buffer when doing a replace all, a lot of
  212. repaint() and getLineOfOffset() calls are made
  213. - optimize for no folding & no soft wrap case:
  214. - reset() and changed() don't need to scan
  215. - scroll/physUp/Down() simpler
  216. - inserting lines repaints whole text area
  217. - see if getLineOfOffset() can be optimized
  218. - optimize 1 long line case
  219. - two repaints in line insert
  220. - redundant calls to recalculateLastPhysicalLines()/updateScrollBars()
  221. - redundant updateChunksUpTo() calls
  222. jEdit buffer local properties:
  223. :wrap=hard:maxLineLen=72:indentSize=2: