PageRenderTime 48ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-5-pre1/doc/TODO.txt

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