TODO 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  1. - switch to pcre2
  2. - #alias test {#if {1} {%1}} gives an error on an empty input.
  3. - check if #scan file is escaping braces
  4. - If I set #config log_level low then it ignores #log timestamp {%Y-%m-%d-%H:%M:%S}
  5. - Update script's --time-style=full-iso doesn't work on Mac.
  6. - Investigate: EVENT_FLAG_UPDATE running as gtd->level->quiet++ in check_all_events
  7. - Add an example #edit script to SCRIPTS
  8. - #map offset 10 10 doesn't generate an error
  9. - strip [ ] from auto tab completion
  10. - #draw tile 1 1 1 1 {\x7B}
  11. - #screen scroll 10 1 -3 -1;#showme {bla} {-2}
  12. #draw RED ROUNDED BOX {1 1 2 2} gives a poor error message
  13. - #var foo {{}{aaa}} creates no assignment
  14. - With internet down, #session reconnect events might fail
  15. - Write an example script that makes tintin mimic Discord, with soft enters, emoticons, etc.
  16. - Add an example script to display time left on tickers using #info tickers save
  17. - comprehensive memory breakdown for variables/triggers/mapper/etc
  18. - #draw calign grid table {2} {2} {8} {42} {n;s;w;e} {n;s;w;e}; doesn't work properly.
  19. - a better trigger stack debug buffer
  20. - Problem with restoring true color subs.
  21. #sub bla {<F00AA00>bla}
  22. #high blo <118>
  23. #showme <158>test bli bla blo test
  24. - named delays don't work in gts
  25. - #SPLIT when you give the top bar a negative value for its size, TinTin isn’t drawing the white box around it
  26. - Add an option to insert multiple items to a list
  27. - allow setting output encoding for #port
  28. - https://github.com/mintty/mintty/wiki/CtrlSeqs#audio-support
  29. - mintty --configdir DIRNAME
  30. - Fix: #ERROR: UNKNOWN TOKEN TYPE: 14 (#info tokenizer)
  31. - split screen scrollback setting in #screen
  32. - terrain based weight modifier
  33. - weightless mode for #map list and #map find
  34. - Make #draw scroll grid table work properly.
  35. - update https://tintin.mudhalla.net/info/ansicolor/
  36. - Make sure #config compact also applies to the log file.
  37. - Add an #event that triggers when a function/variable is not found.
  38. - tab completion on input history
  39. - look into handling VARIABLE UPDATE event better
  40. - catch event to handle #map global exceptions
  41. - Add routine to escape 0x00 in port.c RECEIVED DATA event.
  42. - allow a full telnet disable in port.c
  43. - Add message when a substitution exceeds available memory.
  44. - config loglevel medium option
  45. - look into GMCP larger than buffer size
  46. - look into #button SWIPED MOUSE BUTTON ONE option
  47. - finish ? : support in #math
  48. - finish create_node()
  49. - Look into #split 1 1 1 1 on termux when hiding / showing keyboard.
  50. - look into invalid { } in MSDP / GMCP handling
  51. - MSLP jump link handling
  52. - mapper.c FAST handling
  53. - sandbox mode to disable shell integration.
  54. - update telopt_server with MSSP, MTTS and TTYPE changes
  55. - #format %.3s prints two double-width characters.
  56. - fix ctrl-r so it compiles the pcre once.
  57. - #sleep <time>, possibly allow names to cancel or force continuation
  58. - #line escape {variables;functions}
  59. - look into a #debug flag for #class
  60. - Another nice thing would be if there was some flag to make a trigger match newlines as space.
  61. - fix up named delays and undelay
  62. - add a #regex like command for #cursor to update the input line.
  63. - custom mapping for unicode table to set width
  64. - color code for dynamic color ranges
  65. - #MACRO {\cz} {#cursor get t;#var t} does not handle { } in input.
  66. - Look into delete_index_list leaving a table with ->used set to 0 causing #list crashes
  67. - #daemon attach fails under high cpu load
  68. - https://github.com/scandum/tintin/issues/161
  69. Add note to package maintainers
  70. ----------------
  71. - add shadow session support with access to all events.
  72. - set_line_screen debug: col = -5 (64) from draw_text(%p,%d,%p,%p,%p)
  73. - set_line_screen stack call triggered on android
  74. - regex101 like regex tester
  75. - check: #var bla { x};#draw scroll box 1 1 3 40 $bla
  76. - input spell checking, #cursor display ?
  77. - Get discworld / aardwolf mxp to work for @sentix
  78. - look into default input color
  79. - add ctrl-r support for scrollback
  80. - Add #event {SESSION CONNECTED} {#command} {5.1} option.
  81. - TT++ HANDBOOK for meticulous organized details.
  82. - vertical bar drawing
  83. - error: cursor_check_line_modified1:
  84. - https://tintin.sourceforge.io/forum/viewtopic.php?f=10&t=2811 (possible
  85. issue with initiating input buffer for a new session)
  86. - finish BUFFER_SIZE replacement.
  87. - WSL sound, double check soundpack scripts for lag/stutter
  88. - WSL faq: #system cmd.exe /c start notepad
  89. - update msdp scripts with #line msdp feature
  90. - #cursor get word option, maybe get the yank buffer as well.
  91. - Add a way to set env variables either 1) for the current process, and/or 2) as a parameter to #system (i.e. after fork in the child process).
  92. * STUFF THAT IS PROBABLY GONNA GET DONE
  93. - #line timeshot to auto destroy a trigger after given interval.
  94. - make named delays proper delays
  95. - Finish port proxy support: resizing, input, security
  96. - look into transparent drawing
  97. - VT2020
  98. - mouse enter/leave events on move. hoover/long-press.
  99. - $var[%*][%*] support.
  100. - better #draw font support
  101. - tab completion on directory structure.
  102. - #map area command to list room counts per area.
  103. - direction field for exits that allow longer than 1x1x1 x/y/z jumps.
  104. - global mapper flag that would imply "Hide" on all exits that change area.
  105. - multiple global exit rooms and noglobal flags.
  106. - auto align routine that inserts void rooms where needed
  107. - look into writing script to drag rooms + void with mouse
  108. - Store the map filename to differentiate between maps.
  109. - #map list {<exits>} breaks on rooms that have e mapped to eu.
  110. - finish landmarks
  111. - map sandbox mode support (flags to disable saving?)
  112. - add ghosting to fix #map flag nofollow exit cmd issues?
  113. - Request: 'stop' #map center command, so i could see how the 'user' moves, rather map moves around him?
  114. - make map spacing easier
  115. - event for failed #map move.
  116. - look into #send triggering follow map.
  117. - add {roomdata} search to #map list
  118. - change 'C' to 'S' in map file
  119. - Make actions with a priority of 0. trigger always
  120. - #draw table {1;2;3;4} {a;b;c;d}
  121. #draw scrollbar
  122. #draw graph
  123. #draw button
  124. #draw titanic
  125. - Make { match both a { and \x7B as it's an annoying issue to debug.
  126. - Add VT100 filter to make outside sources respect terminal size constraints, also needed to run bash in vsplit mode.
  127. - Remote script loading
  128. - add class specific debug
  129. - better class event and class size handling ?
  130. - more potent long-click handling including held down ticks.
  131. - look into discord api / arachnos
  132. - Add SESSIONS to the list table.
  133. - Add debugger to syntax highlighter, substitution highlighing, 256 color support, and variable expansion.
  134. - add packets patched counter
  135. - reportable_sounds
  136. - TELNET documentation.
  137. - Add JSON support to #scan
  138. - see if #break 2 is possible, maybe #continue 2 as well.
  139. - IPv6 for chat
  140. - See about adding ~/ handling for file names.
  141. --------------------------------------------------------------------------------
  142. * LOW PRIORITY
  143. - #if {1 || bla} errors out
  144. - ./configure might error on /dev/ptmx
  145. - Add a file handler.
  146. - multi-line buffer searches / captures / deletes
  147. - add color based auto unwrap routine.
  148. - add #history filter option to filter out 1 letter commands.
  149. - Look into config option to change the working directory
  150. --------------------------------------------------------------------------------
  151. * ROADMAP
  152. - dictionary +tabbing
  153. - editor
  154. - clickable link support
  155. - tintin commander
  156. - sixel graphics
  157. - windowing
  158. - blind automapping
  159. - better attach/detach
  160. - GUI mode
  161. - Braille handling
  162. - Allow converting tt++ scripts to C.
  163. - session proxies
  164. --------------------------------------------------------------------------------
  165. * STUFF THAT MIGHT BE IMPLEMENTED
  166. - ability to #read entire directories.
  167. - fix ctrl-r ctrl-d / ctrl-c / enter
  168. - Option to run #script in background.
  169. - Make &0 to &99 local.
  170. - Color compression (already partial support)
  171. - SGA disabling
  172. - BINARY TELOPT support.
  173. - add #line gag {lines} option
  174. - Add something like #log append $dir/logs/log.txt {%D %H:%M:%S}
  175. - compact map view mode http://tintin.sourceforge.net/board/viewtopic.php?p=9994
  176. - https://github.com/eliukblau/pixterm
  177. --------------------------------------------------------------------------------
  178. * BUGS THAT NEED FIXING
  179. - Word wrap related scroll back problems.
  180. - Crash on multiple session close
  181. - \x7B\x7D_____\x7B\x7D_ doesn't match in #regex.
  182. --------------------------------------------------------------------------------
  183. * BUGS THAT MIGHT NEED FIXING
  184. - http://tintin.sourceforge.net/board/viewtopic.php?p=7124
  185. - There's a bug with prompt repetitions with packet patch set.
  186. - Deal with escaping { } / ; in #script variables.
  187. - Make tintin char setting by session instead of global.
  188. - #cr doesn't reset the packet patch state
  189. + tintin.sourceforge.net/board/viewtopic.php?t=36
  190. --------------------------------------------------------------------------------
  191. * MAPPING
  192. - add option to show party members on the map
  193. - map where command that shows relative coordinates.
  194. - Add better table support for data fields.
  195. - auto adjust max vnum size of mapper.
  196. - global flag to only show the same area with the mapper.
  197. - Add something to indicate a non standard exit on the ASCII mapper.
  198. - Display hidden exits differently.
  199. - Better #map undo support using maybe timestamp, type, info.
  200. - Add conditional if checks for room traversal.
  201. - add highlight option
  202. - Add #V version info
  203. --------------------------------------------------------------------------------
  204. * STUFF FOR A RAINY DAY
  205. - Fix up IPv6 support in port/chat.
  206. - Look into packet defragmentation for chat.
  207. - Look into using speech-dispatcher for text to speech.
  208. - Add %U (upper) %L (lower) support.
  209. check https://www.boost.org/doc/libs/1_50_0/libs/regex/doc/html/boost_regex/syntax/basic_extended.html
  210. - cursor extension for vim
  211. - interactive script tutorial
  212. -------------------------------------------------------------------------------
  213. * STUFF I'M NOT SURE ABOUT
  214. - Keep last input visible with repeat enter enabled.
  215. -------------------------------------------------------------------------------
  216. * STUFF THAT WON'T BE IMPLEMENTED
  217. - Lua or any other scripting language, focus is on developing tintin scripting.
  218. -------------------------------------------------------------------------------
  219. * ISSUES
  220. - TinTin++ only allows 1 action triggering per line.
  221. - TinTin++ probably should substitute escapes in if checks.
  222. - TinTin++ is not handling #return inside #regex intuitively.