arcadia 0.9.3 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. data/README +11 -10
  2. data/bin/arcadia +3 -0
  3. data/conf/arcadia.conf +117 -75
  4. data/conf/arcadia.res.rb +219 -58
  5. data/conf/theme-dark.conf +11 -8
  6. data/conf/theme-dark.res.rb +81 -10
  7. data/ext/ae-breakpoints/ae-breakpoints.rb +1 -1
  8. data/ext/ae-dir-projects/ae-dir-projects.conf +2 -2
  9. data/ext/ae-dir-projects/ae-dir-projects.rb +84 -47
  10. data/ext/ae-editor/ae-editor.rb +541 -190
  11. data/ext/ae-editor/langs/coderay.tokens +1 -0
  12. data/ext/ae-editor/langs/conf.lang +5 -4
  13. data/ext/ae-editor/langs/java.lang +2 -1
  14. data/ext/ae-editor/langs/python.lang +4 -0
  15. data/ext/ae-editor/langs/rhtml.lang +2 -1
  16. data/ext/ae-editor/langs/ruby.lang +45 -0
  17. data/ext/ae-editor/langs/tcl.lang +80 -2
  18. data/ext/ae-editor/langs/text.lang +2 -0
  19. data/ext/ae-editor/langs/xml.lang +1 -0
  20. data/ext/ae-file-history/ae-file-history.conf +2 -2
  21. data/ext/ae-file-history/ae-file-history.rb +66 -20
  22. data/ext/ae-output/ae-output.conf +3 -3
  23. data/ext/ae-output/ae-output.rb +37 -23
  24. data/ext/ae-rad/ae-rad-palette.rb +3 -3
  25. data/ext/ae-ruby-debug/ae-ruby-debug.conf +2 -2
  26. data/ext/ae-ruby-debug/ae-ruby-debug.rb +38 -42
  27. data/ext/ae-search-in-files/ae-search-in-files.conf +2 -2
  28. data/ext/ae-search-in-files/ae-search-in-files.rb +20 -9
  29. data/ext/ae-search-in-files/ext/ack-in-files/ack-in-files.conf +2 -2
  30. data/ext/ae-shell/ae-shell.conf +1 -1
  31. data/ext/ae-shell/ae-shell.rb +57 -46
  32. data/ext/ae-subprocess-inspector/ae-subprocess-inspector.rb +99 -46
  33. data/ext/ae-subprocess-inspector/process.res +0 -0
  34. data/lib/a-commons.rb +13 -9
  35. data/lib/a-contracts.rb +24 -1
  36. data/lib/a-core.rb +586 -196
  37. data/lib/a-tkcommons.rb +155 -55
  38. data/lib/anigif.rb +9 -0
  39. data/lib/ctags.exe +0 -0
  40. data/tcl/anigif/anigif.tcl +199 -0
  41. data/tcl/anigif/pkgIndex.tcl +3 -0
  42. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ArrowButton.html +0 -0
  43. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/BWidget.html +0 -0
  44. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Button.html +36 -2
  45. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ButtonBox.html +9 -7
  46. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ComboBox.html +0 -0
  47. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Dialog.html +5 -11
  48. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/DragSite.html +0 -0
  49. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/DropSite.html +0 -0
  50. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/DynamicHelp.html +0 -0
  51. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Entry.html +0 -0
  52. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Label.html +32 -1
  53. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/LabelEntry.html +0 -0
  54. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/LabelFrame.html +0 -0
  55. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ListBox.html +0 -0
  56. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/MainFrame.html +0 -0
  57. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/MessageDlg.html +0 -0
  58. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/NoteBook.html +0 -0
  59. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/PagesManager.html +0 -0
  60. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/PanedWindow.html +0 -0
  61. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/PanelFrame.html +0 -0
  62. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/PasswdDlg.html +0 -0
  63. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ProgressBar.html +0 -0
  64. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ProgressDlg.html +0 -0
  65. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ScrollView.html +0 -0
  66. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ScrollableFrame.html +0 -0
  67. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ScrolledWindow.html +13 -1
  68. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/SelectColor.html +0 -0
  69. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/SelectFont.html +0 -0
  70. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Separator.html +0 -0
  71. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/SpinBox.html +0 -0
  72. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/StatusBar.html +0 -0
  73. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/TitleFrame.html +0 -0
  74. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Tree.html +0 -0
  75. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Widget.html +0 -0
  76. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/contents.html +12 -1
  77. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/index.html +0 -0
  78. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/navtree.html +0 -0
  79. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/options.htm +0 -0
  80. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/CHANGES.txt +0 -0
  81. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/ChangeLog +70 -0
  82. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/LICENSE.txt +0 -0
  83. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/README.txt +0 -0
  84. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/arrow.tcl +0 -0
  85. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/bitmap.tcl +0 -0
  86. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/button.tcl +121 -53
  87. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/buttonbox.tcl +10 -5
  88. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/color.tcl +0 -0
  89. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/combobox.tcl +0 -0
  90. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/basic.tcl +0 -0
  91. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/bwidget.xbm +0 -0
  92. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/demo.tcl +0 -0
  93. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/dnd.tcl +0 -0
  94. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/manager.tcl +0 -0
  95. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/select.tcl +0 -0
  96. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/tmpldlg.tcl +0 -0
  97. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/tree.tcl +0 -0
  98. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/x1.xbm +0 -0
  99. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/dialog.tcl +14 -2
  100. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/dragsite.tcl +0 -0
  101. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/dropsite.tcl +0 -0
  102. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/dynhelp.tcl +0 -0
  103. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/entry.tcl +0 -0
  104. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/font.tcl +0 -0
  105. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/bold.gif +0 -0
  106. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/copy.gif +0 -0
  107. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/cut.gif +0 -0
  108. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/dragfile.gif +0 -0
  109. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/dragicon.gif +0 -0
  110. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/error.gif +0 -0
  111. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/file.gif +0 -0
  112. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/folder.gif +0 -0
  113. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/hourglass.gif +0 -0
  114. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/info.gif +0 -0
  115. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/italic.gif +0 -0
  116. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/minus.xbm +0 -0
  117. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/new.gif +0 -0
  118. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/opcopy.xbm +0 -0
  119. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/open.gif +0 -0
  120. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/openfold.gif +0 -0
  121. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/oplink.xbm +0 -0
  122. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/opmove.xbm +0 -0
  123. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/overstrike.gif +0 -0
  124. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/palette.gif +0 -0
  125. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/passwd.gif +0 -0
  126. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/paste.gif +0 -0
  127. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/plus.xbm +0 -0
  128. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/print.gif +0 -0
  129. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/question.gif +0 -0
  130. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/redo.gif +0 -0
  131. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/save.gif +0 -0
  132. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/target.xbm +0 -0
  133. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/underline.gif +0 -0
  134. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/undo.gif +0 -0
  135. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/warning.gif +0 -0
  136. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/init.tcl +15 -1
  137. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/label.tcl +76 -18
  138. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/labelentry.tcl +0 -0
  139. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/labelframe.tcl +0 -0
  140. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/da.rc +0 -0
  141. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/de.rc +0 -0
  142. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/en.rc +0 -0
  143. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/es.rc +0 -0
  144. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/fr.rc +0 -0
  145. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/hu.rc +0 -0
  146. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/nl.rc +0 -0
  147. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/no.rc +0 -0
  148. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/pl.rc +0 -0
  149. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/listbox.tcl +0 -0
  150. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/mainframe.tcl +3 -2
  151. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/messagedlg.tcl +0 -0
  152. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/notebook.tcl +0 -0
  153. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/pagesmgr.tcl +0 -0
  154. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/panedw.tcl +0 -0
  155. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/panelframe.tcl +0 -0
  156. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/passwddlg.tcl +0 -0
  157. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/pkgIndex.tcl +2 -2
  158. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/progressbar.tcl +0 -0
  159. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/progressdlg.tcl +0 -0
  160. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/scrollframe.tcl +0 -0
  161. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/scrollview.tcl +0 -0
  162. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/scrollw.tcl +37 -25
  163. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/separator.tcl +0 -0
  164. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/spinbox.tcl +0 -0
  165. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/statusbar.tcl +0 -0
  166. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/tests/entry.test +0 -0
  167. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/titleframe.tcl +0 -0
  168. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/tree.tcl +17 -9
  169. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/utils.tcl +0 -0
  170. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/widget.tcl +0 -0
  171. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/wizard.tcl +0 -0
  172. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/xpm2image.tcl +0 -0
  173. data/tcl/fsdialog/de.msg +30 -0
  174. data/tcl/fsdialog/en.msg +31 -0
  175. data/tcl/fsdialog/fsdialog.tcl +1749 -0
  176. data/tcl/fsdialog/fsdlg-gif.tcl +259 -0
  177. data/tcl/fsdialog/fsdlg-png.tcl +265 -0
  178. data/tcl/fsdialog/sv.msg +32 -0
  179. data/tcl/fsdialog/tclIndex +6 -0
  180. metadata +179 -174
  181. data/ext/ae-editor/langs/erb.lang.bind +0 -1
  182. data/ext/ae-editor/langs/lang.lang.bind +0 -1
  183. data/ext/ae-editor/langs/pers.lang.bind +0 -1
  184. data/ext/ae-editor/langs/rb.lang +0 -73
  185. data/ext/ae-editor/langs/rbw.lang.bind +0 -1
  186. data/ext/ae-editor/langs/tokens.lang.bind +0 -1
@@ -38,3 +38,4 @@ coderay.hightlight.directive.foreground=>>>hightlight.reserved.foreground
38
38
  coderay.hightlight.directive.style=bold
39
39
  coderay.hightlight.type.foreground=>>>hightlight.reserved.foreground
40
40
  coderay.hightlight.type.style=bold
41
+ coderay.hightlight.operator.style=bold
@@ -1,13 +1,14 @@
1
1
  scanner=re
2
2
  language=conf
3
- re.classes=key,value,operator,comment,link
3
+ exts=conf,lang,pers,tokens
4
+ re.classes=key,value,link,operator,comment
5
+ re.comment=#(.*)
4
6
  re.key=(.*)\=
5
7
  re.value=\=(.*)
6
8
  re.operator=\=
7
- re.comment=#
8
9
  re.link=>>>
9
- re_op.to_line_end=comment
10
- re_op.only_first=operator
10
+ #re_op.to_line_end=comment
11
+ #re_op.only_first=operator
11
12
 
12
13
  re.hightlight.comment.foreground=>>>hightlight.comment.foreground
13
14
  re.hightlight.key.foreground=>>>hightlight.symbol.foreground
@@ -1,4 +1,5 @@
1
1
  language=java
2
+ exts=java
2
3
  scanner=coderay
3
4
  @include=coderay.tokens
4
- coderay.classes=keyword,directive,type,method,class,char,comment,instance_variable,constant,string,content,integer
5
+ coderay.classes=keyword,directive,type,pre_type,operator,delimiter,method,class,char,comment,instance_variable,constant,string,content,integer
@@ -0,0 +1,4 @@
1
+ language=python
2
+ exts=py,pyw
3
+ scanner=coderay
4
+ @include=coderay.tokens
@@ -1,4 +1,5 @@
1
1
  language=rhtml
2
2
  scanner=coderay
3
+ exts=erb,rhtml
3
4
  @include=coderay.tokens
4
- coderay.classes=inline_delimiter,tag,reserved,method,class,char,comment,instance_variable,constant,string,content,integer
5
+ coderay.classes=inline_delimiter,tag,reserved,method,class,char,comment,instance_variable,constant,string,content,integer
@@ -0,0 +1,45 @@
1
+ language=ruby
2
+
3
+ exts=rb,rbw
4
+
5
+ scanner=coderay
6
+ #scanner=re
7
+ re.classes=integer,method,class,module_name,reserved,instance_variable,global_variable,symbol,operator,string,comment
8
+ re.reserved=def|and|or|unless|end|in|begin|defined?|ensure|redo|super|until|BEGIN|break|do|false|next|rescue|then|when|END|case|else|for|nil|retry|true|while|alias|elsif|if|not|return|undef|yield|require|include|self|__LINE__|__FILE__|module|class
9
+ re.method=(def[\s][\s]*)[A-Za-z0-9_]*
10
+ re.instance_variable=([\s]*@)[A-Za-z0-9_]*
11
+ re.global_variable=([\s]*\$)[A-Za-z0-9_]*
12
+ re.class=(class[\s][\s]*)[A-Za-z0-9_]*
13
+ re.module_name=(module[\s][\s]*)[A-Za-z0-9_]*
14
+ re.string='(.*)'|"(.*)"
15
+ re.integer=\d
16
+ re.operator=[\(\)\[\]\(\)\{\}.:;,\=><\|]
17
+ #re.symbol=(\s|,)(:)[A-Za-z0-9_]*
18
+ re.symbol=[^:](:)[A-Za-z0-9_]*
19
+ re.comment=#(.*)
20
+ #re_op.to_line_end=comment
21
+
22
+
23
+ re.hightlight.reserved.foreground=>>>hightlight.reserved.foreground
24
+ re.hightlight.reserved.style=bold
25
+ re.hightlight.method.foreground=>>>hightlight.method.foreground
26
+ re.hightlight.method.style=bold
27
+ re.hightlight.class.foreground=>>>hightlight.class.foreground
28
+ re.hightlight.class.style=bold
29
+ re.hightlight.module_name.foreground=>>>hightlight.class.foreground
30
+ re.hightlight.module_name.style=bold
31
+ re.hightlight.instance_variable.foreground=>>>hightlight.instance_variable.foreground
32
+ re.hightlight.instance_variable.style=bold
33
+ re.hightlight.constant.foreground=>>>hightlight.constant.foreground
34
+ re.hightlight.constant.style=bold
35
+ re.hightlight.global_variable.foreground=>>>hightlight.global_variable.foreground
36
+ re.hightlight.global_variable.style=bold
37
+ re.hightlight.comment.foreground=>>>hightlight.comment.foreground
38
+ re.hightlight.content.foreground=>>>hightlight.string.foreground
39
+ re.hightlight.string.foreground=>>>hightlight.string.foreground
40
+ re.hightlight.integer.foreground=>>>hightlight.number.foreground
41
+ re.hightlight.symbol.foreground=>>>hightlight.symbol.foreground
42
+
43
+
44
+
45
+ @include=coderay.tokens
@@ -1,3 +1,81 @@
1
1
  language=tcl
2
- scanner=coderay
3
- @include=coderay.tokens
2
+ exts=tcl
3
+ scanner=re
4
+ re.classes=widgets,options,vars,commands,brackets,comments,strings
5
+
6
+ widgets=list|button|label|text|frame|toplevel|scrollbar|checkbutton|canvas|listbox|menu|menubar|menubutton|radiobutton|scale|entry|message|spinbutton|tk_chooseDir|tk_getSaveFile|tk_getOpenFile|tk_chooseColor|tk_optionMenu|tk_dialog|tk_messageBox|panedwindow
7
+ re.options=-name|-textvariable|-text|-command|-yscrollcommand|-xscrollcommand|-background|-foreground|-fg|-bg|-highlightbackground|-y|-x|-highlightcolor|-relief|-width|-height|-wrap|-font|-fill|-side|-outline|-style|-insertwidth|-activebackground|-activeforeground|-insertbackground|-anchor|-orient|-troughcolor|-nonewline|-expand|-type|-message|-title|-offset|-in|-after|-yscroll|-xscroll|-forward|-regexp|-count|-exact|-padx|-ipadx|-filetypes|-all|-from|-to|-label|-value|-variable|-regexp|-backwards|-forwards|-bd|-pady|-ipady|-state|-row|-column|-cursor|-highlightcolors|-linemap|-menu|-tearoff|-displayof|-cursor|-underline|-tags|-tag|-length
8
+ re.vars=\$[A-Za-z0-9_]*
9
+ re.commands=list|break|case|continue|exit|for|foreach|if|then|elseif|else|return|switch|while|file|info|concat|join|lappend|lindex|linsert|list|llength|lrange|lreplace|lsearch|lsort|split|array|parray|append|binary|format|regexp|regsub|scan|string|subst|cd|clock|exec|glob|pid|pwd|close|eof|fblocked|fconfigure|fcopy|fileevent|flush|gets|open|puts|read|seek|socket|tell|interp|package|namespace|variable|after|auto_execok|auto_load|auto_mkindex|auto_reset|bgerror|catch|error|eval|expr|global|history|incr|load|proc|rename|set|source|time|trace|unknown|unset|update|uplevel|upvar|vwait|winfo|wm|bind|event|pack|place|grid|font|bell|clipboard|destroy|focus|grab|lower|option|raise|selection|send|tk|tkwait|tk_bisque|tk_focusNext|tk_focusPrev|tk_focusFollowsMouse|tk_popup|tk_setPalette
10
+ re.brackets=\{|\[|\]|\{|\}|\}
11
+ re.comments=#(.*)
12
+ re.strings="(.*)"|\{(.*)\}
13
+
14
+ re.hightlight.comments.foreground=>>>hightlight.comment.foreground
15
+ #re_op.to_line_end=comments
16
+ re.hightlight.commands.foreground=>>>hightlight.reserved.foreground
17
+ re.hightlight.commands.style=bold
18
+ re.hightlight.widgets.foreground=>>>hightlight.method.foreground
19
+ re.hightlight.widgets.style=bold
20
+ re.hightlight.vars.foreground=>>>hightlight.instance_variable.foreground
21
+ re.hightlight.vars.style=bold
22
+ re.hightlight.strings.foreground=>>>hightlight.string.foreground
23
+ re.hightlight.options.foreground=>>>hightlight.symbol.foreground
24
+ re.hightlight.brackets.foreground=>>>hightlight.operator.foreground
25
+
26
+
27
+
28
+ #language=tcl
29
+ #exts=tcl
30
+ #scanner=re
31
+ #re.classes=number,method_name,class_name,module_name,keyword,instance_variable,global_variable,symbol,operator,string,comment
32
+ #re.keyword=\b(and|or|unless|end|in|begin|defined?|ensure|redo|super|until|BEGIN|break|do|false|next|rescue|then|when|END|case|else|for|nil|retry|true|while|alias|elsif|if|not|return|undef|yield|require|include)([\(\s\n])|\b(self)([.,+\(\s])|__LINE__|__FILE__|[\s]*def[\s]|[\s]*module[\s]|[\s]*class[\s]
33
+ #re.method_name=(def[\s][\s]*)[A-Za-z0-9_]*
34
+ #re.instance_variable=([\s]*@)[A-Za-z0-9_]*
35
+ #re.global_variable=([\s]*\$)[A-Za-z0-9_]*
36
+ #re.class_name=(class[\s][\s]*)[A-Za-z0-9_]*
37
+ #re.module_name=(module[\s][\s]*)[A-Za-z0-9_]*
38
+ #re.string='(.*)'|"(.*)"
39
+ #re.number=\d
40
+ #re.operator=[\(\)\[\]\(\)\{\}.:;,\=><\|]
41
+ #re.symbol=[^:](:)[A-Za-z0-9_]*
42
+ #re.comment=#
43
+ #re_op.to_line_end=comment
44
+ #
45
+ #re.hightlight.comment.foreground=>>>hightlight.comment.foreground
46
+ #re.hightlight.reserved.foreground=>>>hightlight.reserved.foreground
47
+ #re.hightlight.reserved.style=bold
48
+ #re.hightlight.method.foreground=>>>hightlight.method.foreground
49
+ #re.hightlight.method.style=bold
50
+ #re.hightlight.class.foreground=>>>hightlight.class.foreground
51
+ #re.hightlight.class.style=bold
52
+ #re.hightlight.module_name.foreground=>>>hightlight.class.foreground
53
+ #re.hightlight.module_name.style=bold
54
+ #re.hightlight.instance_variable.foreground=>>>hightlight.instance_variable.foreground
55
+ #re.hightlight.instance_variable.style=bold
56
+ #re.hightlight.constant.foreground=>>>hightlight.constant.foreground
57
+ #re.hightlight.constant.style=bold
58
+ #re.hightlight.global_variable.foreground=>>>hightlight.global_variable.foreground
59
+ #re.hightlight.global_variable.style=bold
60
+ #re.hightlight.comment.foreground=>>>hightlight.comment.foreground
61
+ #re.hightlight.content.foreground=>>>hightlight.string.foreground
62
+ #re.hightlight.char.foreground=>>>hightlight.string.foreground
63
+ #re.hightlight.char.style=bold
64
+ #re.hightlight.string.foreground=>>>hightlight.string.foreground
65
+ #re.hightlight.integer.foreground=>>>hightlight.number.foreground
66
+ #re.hightlight.symbol.foreground=>>>hightlight.symbol.foreground
67
+ #
68
+ #re.hightlight.attribute_name.foreground=>>>hightlight.reserved.foreground
69
+ #re.hightlight.attribute_name.style=bold
70
+ #re.hightlight.tag.foreground=>>>hightlight.tag.foreground
71
+ #re.hightlight.tag.style=bold
72
+ #re.hightlight.preprocessor.foreground=>>>hightlight.class.foreground
73
+ #re.hightlight.preprocessor.style=bold
74
+ #re.hightlight.inline_delimiter.foreground=>>>hightlight.string.foreground
75
+ #re.hightlight.inline_delimiter.style=bold
76
+ #re.hightlight.keyword.foreground=>>>hightlight.reserved.foreground
77
+ #re.hightlight.keyword.style=bold
78
+ #re.hightlight.directive.foreground=>>>hightlight.reserved.foreground
79
+ #re.hightlight.directive.style=bold
80
+ #re.hightlight.type.foreground=>>>hightlight.reserved.foreground
81
+ #re.hightlight.type.style=bold
@@ -0,0 +1,2 @@
1
+ language=text
2
+ exts=txt
@@ -1,4 +1,5 @@
1
1
  language=xml
2
+ exts=xml
2
3
  scanner=coderay
3
4
  @include=coderay.tokens
4
5
  coderay.classes=preprocessor,tag,attribute_name,comment,content
@@ -14,5 +14,5 @@ color.background=#ffffff
14
14
  color.foreground=#000000
15
15
  freebsd::font=courier 12 italic
16
16
  freebsd::font.bold=courier 12 bold
17
- win::font={Courier New} 9
18
- win::font.bold={Courier New} 9 bold
17
+ win|mingw::font={Courier New} 9
18
+ win|mingw::font.bold={Courier New} 9 bold
@@ -90,14 +90,16 @@ class FilesHistrory < ArcadiaExt
90
90
  end
91
91
 
92
92
  def on_build(_event)
93
- @h_stack = Array.new
94
- @cb_sync = TkCheckButton.new(self.frame.hinner_frame, Arcadia.style('checkbox')){
93
+ @h_stack = Hash.new
94
+ @h_stack_changed = false
95
+ @panel = self.frame.root.add_panel(self.frame.name, "sync");
96
+ @cb_sync = TkCheckButton.new(@panel, Arcadia.style('checkbox').update('background'=>@panel.background)){
95
97
  text 'Sync'
96
98
  justify 'left'
97
99
  indicatoron 0
98
- offrelief 'raised'
99
- image TkPhotoImage.new('dat' => SYNCICON20_GIF)
100
- place('x' => 0,'y' => 0,'height' => 26)
100
+ offrelief 'flat'
101
+ image Arcadia.image_res(SYNC_GIF)
102
+ pack
101
103
  }
102
104
 
103
105
  Tk::BWidget::DynamicHelp::add(@cb_sync,
@@ -139,11 +141,13 @@ class FilesHistrory < ArcadiaExt
139
141
  @htree = BWidgetTreePatched.new(self.frame.hinner_frame, Arcadia.style('treepanel')){
140
142
  showlines false
141
143
  deltay 18
144
+ crosscloseimage Arcadia.image_res(PLUS_GIF)
145
+ crossopenimage Arcadia.image_res(MINUS_GIF)
142
146
  opencmd proc{|node| do_open_folder.call(node)}
143
147
  selectcommand proc{ do_select_item.call(self) }
144
148
  # place('relwidth' => 1,'relheight' => '1', 'x' => '0','y' => '22', 'height' => -22)
145
149
  }
146
- @htree.extend(TkScrollableWidget).show(0,26)
150
+ @htree.extend(TkScrollableWidget).show(0,0)
147
151
 
148
152
  do_double_click = proc{
149
153
  #_selected = @htree.selection_get[0]
@@ -174,7 +178,7 @@ class FilesHistrory < ArcadiaExt
174
178
  Arcadia.attach_listener(self, OpenBufferEvent)
175
179
  #Arcadia.attach_listener(self, BufferRaisedEvent)
176
180
  self.frame.show
177
- #Arcadia.attach_listener(self, CloseBufferEvent)
181
+ Arcadia.attach_listener(self, BufferClosedEvent)
178
182
  end
179
183
 
180
184
  def history_file
@@ -184,6 +188,20 @@ class FilesHistrory < ArcadiaExt
184
188
  return @arcadia_history_file
185
189
  end
186
190
 
191
+ def on_before_open_buffer(_event)
192
+ if _event.file && _event.row.nil? &&File.exist?(_event.file)
193
+ if @h_stack[_event.file]
194
+ r,c = @h_stack[_event.file].split('.')
195
+ _event.row=r.to_i
196
+ _event.col=c.to_i
197
+ if _event.select_index.nil?
198
+ _event.select_index=false
199
+ end
200
+ end
201
+ end
202
+ end
203
+
204
+
187
205
  def on_after_open_buffer(_event)
188
206
  if _event.file && File.exist?(_event.file)
189
207
  self.add2history(_event.file)
@@ -191,12 +209,12 @@ class FilesHistrory < ArcadiaExt
191
209
  end
192
210
  end
193
211
 
194
- # def on_after_close_buffer(_event)
195
- # if _event.file
196
- # self.add2history(_event.file)
197
- # add_to_tree(_event.file)
198
- # end
199
- # end
212
+ def on_buffer_closed(_event)
213
+ if _event.file && File.exist?(_event.file)
214
+ @h_stack_changed = @h_stack_changed || @h_stack[_event.file] != "#{_event.row}.0"
215
+ @h_stack[_event.file]="#{_event.row}.0"
216
+ end
217
+ end
200
218
 
201
219
  def node2file(_node)
202
220
  if _node[0..0]=='{' && _node[-1..-1]=='}'
@@ -259,6 +277,7 @@ class FilesHistrory < ArcadiaExt
259
277
  #@htree.selectcommand(_proc)
260
278
  @htree.configure('selectcommand'=>_proc)
261
279
  end
280
+ @htree.call_after_next_show_h_scroll(proc{Tk.update;@htree.see(_file_node_rif)})
262
281
  end
263
282
  end
264
283
 
@@ -302,8 +321,9 @@ class FilesHistrory < ArcadiaExt
302
321
  begin
303
322
  _lines = f.readlines.collect!{| line | line.chomp+"\n" }
304
323
  _lines.sort.each{|_line|
305
- _file = _line.split(';')[0]
324
+ _file, _index = _line.split(';')
306
325
  if FileTest::exist?(_file)
326
+ @h_stack[File.expand_path(_file)]=_index
307
327
  dir,fil =File.split(File.expand_path(_file))
308
328
  dir = dir.downcase if Arcadia.is_windows?
309
329
  fil = fil.downcase if Arcadia.is_windows?
@@ -326,12 +346,8 @@ class FilesHistrory < ArcadiaExt
326
346
  }
327
347
  }
328
348
 
329
- #@image_kdir = TkPhotoImage.new('dat' => BOOK_GIF)
330
- @image_kdir = TkPhotoImage.new('dat' => ICON_FOLDER_OPEN_GIF)
331
- # @image_kfile_rb = TkPhotoImage.new('dat' => RUBY_DOCUMENT_GIF)
332
- # @image_kfile = TkPhotoImage.new('dat' => DOCUMENT_GIF)
333
-
334
- build_tree_from_node(root)
349
+ @image_kdir = Arcadia.image_res(ICON_FOLDER_OPEN_GIF)
350
+ build_tree_from_node(root)
335
351
  end
336
352
 
337
353
  def pop_up_menu_tree
@@ -480,8 +496,38 @@ class FilesHistrory < ArcadiaExt
480
496
  end
481
497
  end
482
498
 
499
+ def on_finalize(_event)
500
+ return if !@h_stack_changed
501
+ if File.exist?(history_file)
502
+ f = File::open(history_file,'r')
503
+ begin
504
+ _lines = f.readlines.collect!{| line | line.chomp}
505
+ ensure
506
+ f.close unless f.nil?
507
+ end
508
+ f = File.new(history_file, "w")
509
+ begin
510
+ if f
511
+ _lines[0..-1].each{|_line|
512
+ _lfile = _line.split(';')
513
+ if _lfile
514
+ if @h_stack[_lfile[0]]
515
+ rif = "#{_lfile[0]};#{@h_stack[_lfile[0]]}"
516
+ else
517
+ rif = _line
518
+ end
519
+ f.syswrite(rif+"\n")
520
+ end
521
+ }
522
+ end
523
+ ensure
524
+ f.close unless f.nil?
525
+ end
526
+ end
527
+ end
483
528
 
484
529
  def add2history(_filename, _text_index='1.0')
530
+ return if !@h_stack[_filename].nil?
485
531
  if _filename && File.exist?(_filename)
486
532
  _filename = _filename.sub(Dir::pwd+'/',"")
487
533
  _filename = File.expand_path(_filename)
@@ -11,9 +11,9 @@ font=courier 10
11
11
  font.bold=courier 10 bold
12
12
  freebsd::font=courier 12
13
13
  freebsd::font.bold=courier 12 bold
14
- win::font={Courier New} 9
15
- win::font.bold={Courier New} 9 bold
14
+ win|mingw::font={Courier New} 9
15
+ win|mingw::font.bold={Courier New} 9 bold
16
16
  hightlight.sel.color.foreground=black
17
17
  hightlight.sel.color.background=#ff8000
18
18
  color.foreground=black
19
- color.background=#FFFFFF
19
+ color.background=#FFFFFF
@@ -12,23 +12,29 @@ require "tk"
12
12
  class OutputView
13
13
  attr_reader :text
14
14
  def initialize(parent=nil)
15
- left_frame = TkFrame.new(parent.frame.hinner_frame, Arcadia.style('panel')).place('x' => '0','y' => '0','relheight' => '1','width' => '25')
16
- right_frame = TkFrame.new(parent.frame.hinner_frame, Arcadia.style('panel')).place('x' => '25','y' => '0','relheight' => '1','relwidth' => '1','width' => '-25')
17
-
18
- @button_u = Tk::BWidget::Button.new(left_frame, Arcadia.style('toolbarbutton')){
19
- image TkPhotoImage.new('dat' => CLEAR_GIF)
20
- helptext 'Clear'
21
- #foreground 'blue'
22
- command proc{parent.main_frame.text.delete('1.0','end')}
23
- #relief 'groove'
24
- pack('side' =>'top', 'anchor'=>'n',:padx=>0, :pady=>0)
25
- }
26
-
27
- @text = TkArcadiaText.new(right_frame,
15
+ #left_frame = TkFrame.new(parent.frame.hinner_frame, Arcadia.style('panel')).place('x' => '0','y' => '0','relheight' => '1','width' => '25')
16
+ #right_frame = TkFrame.new(parent.frame.hinner_frame, Arcadia.style('panel')).place('x' => '25','y' => '0','relheight' => '1','relwidth' => '1','width' => '-25')
17
+
18
+ parent.frame.root.add_button(
19
+ parent.name,
20
+ 'Clear',
21
+ proc{parent.main_frame.text.delete('1.0','end')},
22
+ CLEAR_GIF)
23
+
24
+ # @button_u = Tk::BWidget::Button.new(left_frame, Arcadia.style('toolbarbutton')){
25
+ # image TkPhotoImage.new('dat' => CLEAR_GIF)
26
+ # helptext 'Clear'
27
+ # #foreground 'blue'
28
+ # command proc{parent.main_frame.text.delete('1.0','end')}
29
+ # #relief 'groove'
30
+ # pack('side' =>'top', 'anchor'=>'n',:padx=>0, :pady=>0)
31
+ # }
32
+
33
+ @text = TkArcadiaText.new(parent.frame.hinner_frame,
28
34
  {'wrap'=> 'none'}.update(Arcadia.style('edit'))
29
35
  )
30
36
  @text.extend(TkScrollableWidget).show
31
-
37
+ @text.extend(TkInputThrow)
32
38
  @text.tag_configure('simple_msg',
33
39
  # 'background' => '#d9d994',
34
40
  'borderwidth'=>1,
@@ -54,7 +60,7 @@ class OutputView
54
60
  'background'=>Arcadia.conf('hightlight.sel.background'),
55
61
  'foreground'=>Arcadia.conf('hightlight.sel.foreground')
56
62
  )
57
- pop_up_menu
63
+ pop_up_menu
58
64
  end
59
65
 
60
66
  def pop_up_menu
@@ -143,6 +149,7 @@ class Output < ArcadiaExt
143
149
  MARKSUF='mark-'
144
150
  def on_before_build(_event)
145
151
  #ArcadiaContractListener.new(self, MsgContract, :do_msg_event)
152
+ @tag_seq = 0
146
153
  Arcadia.attach_listener(self, MsgEvent)
147
154
  #_frame = @arcadia.layout.register_panel('_rome_',@name, 'Output')
148
155
  @main_frame = OutputView.new(self)
@@ -175,7 +182,7 @@ class Output < ArcadiaExt
175
182
  else
176
183
  @main_frame.text.insert("end","\n")
177
184
  _index_begin = @main_frame.text.index('end')
178
- TkTextImage.new(@main_frame.text, _index_begin, 'padx'=>0, 'pady'=>0, 'image'=> TkPhotoImage.new('data' => ITEM_START_LOG_GIF))
185
+ TkTextImage.new(@main_frame.text, _index_begin, 'padx'=>0, 'pady'=>0, 'image'=> Arcadia.image_res(ITEM_START_LOG_GIF))
179
186
  @main_frame.text.insert("end"," +--- #{format_time(_event.time)} ---+\n", 'bord_msg')
180
187
  end
181
188
  if _event.append
@@ -213,7 +220,6 @@ class Output < ArcadiaExt
213
220
  return if _from_row == _to_row
214
221
  _row = _from_row
215
222
  @cursor = @main_frame.text.cget('cursor')
216
- @j=0
217
223
  file_tag=Hash.new
218
224
  if String.method_defined?(:lines)
219
225
  lines = @main_frame.text.value.lines.to_a[_from_row.._to_row]
@@ -227,16 +233,15 @@ class Output < ArcadiaExt
227
233
  #if _row >= _from_row
228
234
  _end = 0
229
235
  #m = /([\.\/]*[\/A-Za-z_\-\.]*[\.\/\w\d]*\.rb):(\d*)/.match(l)
230
- re = Regexp.new('([\w\:]*[\.\/]*[\/A-Za-z_\-\.]*[\.\/\w\d]*):(\d*)')
236
+ re = Regexp.new('([\w\:]*[\.\/]*[\/A-Za-z_\-\.]*[\.\/\w\d]*[(<<current buffer>>)]*):(\d*)')
231
237
  m = re.match(l)
232
238
  #m = /([\.\/]*[\/A-Za-z_\-\.]*[\.\/\w\d]*):(\d*)/.match(l)
233
239
  while m
234
240
  _txt = m.post_match
235
241
  if m[1] && m[2]
236
242
  _file = m[1]
237
- if File.exist?(_file)
238
- @j=@j+1
239
- _line = m[2]
243
+ if File.exist?(_file) || _file=="<<current buffer>>"
244
+ _line = m[2]
240
245
  _ibegin = _row.to_s+'.'+(m.begin(1)+_end).to_s
241
246
  _iend = _row.to_s+'.'+(m.end(2)+_end).to_s
242
247
  file_binding(_file, _line, _ibegin, _iend)
@@ -250,10 +255,18 @@ class Output < ArcadiaExt
250
255
  }
251
256
  end
252
257
  end
258
+
259
+ def next_tag_name
260
+ @tag_seq = @tag_seq + 1
261
+ "tag_#{@tag_seq}"
262
+ end
253
263
 
254
264
  def file_binding(_file, _line, _ibegin, _iend)
265
+ if _file == '<<current buffer>>'
266
+ _file = "*CURR"
267
+ end
255
268
  _line = '0' if _line.nil? || _line.strip.length == 0
256
- tag_name = "tag_#{@j}"
269
+ tag_name = next_tag_name
257
270
  @main_frame.text.tag_configure(tag_name,
258
271
  'foreground' => Arcadia.conf('hightlight.link.foreground'),
259
272
  'borderwidth'=>0,
@@ -261,7 +274,8 @@ class Output < ArcadiaExt
261
274
  'underline'=>true
262
275
  )
263
276
  @main_frame.text.tag_add(tag_name,_ibegin,_iend)
264
- @main_frame.text.tag_bind(tag_name,"Double-ButtonPress-1",
277
+ #@main_frame.text.tag_bind(tag_name,"Double-ButtonPress-1",
278
+ @main_frame.text.tag_bind(tag_name,"ButtonPress-1",
265
279
  proc{
266
280
  Arcadia.process_event(OpenBufferTransientEvent.new(self,'file'=>_file, 'row'=>_line))
267
281
  }