arcadia 1.0.0 → 1.1.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.
- checksums.yaml +4 -4
- data/README.md +90 -28
- data/conf/LC/en-UK.LANG +6 -0
- data/conf/LC/ru-RU.LANG +0 -0
- data/conf/arcadia.conf +8 -4
- data/conf/arcadia.res.rb +86 -1
- data/conf/theme-dark.conf +2 -1
- data/ext/ae-breakpoints/ae-breakpoints.rb +1 -1
- data/ext/ae-dir-projects/ae-dir-projects.rb +42 -6
- data/ext/ae-editor/ae-editor.rb +227 -120
- data/ext/ae-editor/langs/coderay.tokens +0 -0
- data/ext/ae-editor/langs/conf.lang +0 -0
- data/ext/ae-editor/langs/css.lang +0 -0
- data/ext/ae-editor/langs/html.lang +0 -0
- data/ext/ae-editor/langs/java.lang +0 -0
- data/ext/ae-editor/langs/python.lang +0 -0
- data/ext/ae-editor/langs/ruby.lang +0 -0
- data/ext/ae-editor/langs/text.lang +0 -0
- data/ext/ae-editor/langs/xml.lang +0 -0
- data/ext/ae-editor/lib/rbeautify.rb +0 -0
- data/ext/ae-file-history/ae-file-history.rb +4 -3
- data/ext/ae-output/ae-output.rb +44 -31
- data/ext/ae-ruby-debug/ae-ruby-debug.conf +3 -2
- data/ext/ae-ruby-debug/ae-ruby-debug.rb +1 -0
- data/ext/ae-search-in-files/ae-search-in-files.rb +3 -3
- data/ext/ae-search-in-files/ext/ack-in-files/ack-in-files.conf +0 -0
- data/ext/ae-search-in-files/ext/ack-in-files/ack-in-files.rb +0 -0
- data/ext/ae-shell/ae-shell.rb +37 -15
- data/ext/ae-subprocess-inspector/ae-subprocess-inspector.rb +14 -8
- data/ext/ae-subprocess-inspector/butterfly.res +0 -0
- data/ext/ae-subprocess-inspector/process.res +0 -0
- data/ext/ae-subprocess-inspector/space-invader.res +0 -0
- data/ext/ae-term/ae-term.conf +0 -0
- data/ext/ae-term/ae-term.rb +0 -0
- data/ext/test-shutdown-after-startup/test-shutdown-after-startup.conf +0 -0
- data/ext/test-shutdown-after-startup/test-shutdown-after-startup.rb +0 -0
- data/lib/a-commons.rb +1 -1
- data/lib/a-contracts.rb +13 -3
- data/lib/a-core.rb +612 -142
- data/lib/a-tkcommons.rb +661 -50
- data/lib/anigif.rb +0 -0
- data/lib/iosync.rb +71 -0
- data/tcl/anigif/anigif.tcl +0 -0
- data/tcl/anigif/pkgIndex.tcl +0 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4611baf00758fb21466c6dfd94cd49d42074dad1
|
4
|
+
data.tar.gz: f325bd7340e97c3a6ea3138f88294b30073da697
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5288b57c81c601457884c1439f22baa190ac1ff4a89664acd5ae4772e398c5c58eedbf69d7973e4c3d03ac69830a0359b87416fd55d2102563c2acb7e7a45ec
|
7
|
+
data.tar.gz: 118c4e1c57fd930901eaf3188165b51e91284aab52cc60a907c89ffc28b094bffbde84a25bd3785be0386e77e10ec4930525a90f6f2961096e09692ba9c0a44a
|
data/README.md
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
# Arcadia IDE
|
2
|
-
version 1.
|
2
|
+
version 1.1.0
|
3
3
|
|
4
4
|
by Antonio Galeone
|
5
|
-
on
|
5
|
+
on Sep 06, 2015
|
6
6
|
|
7
7
|
## About
|
8
8
|
|
9
9
|
Arcadia is a light editor (IDE) for Ruby language
|
10
|
-
written in Ruby using the classic Tcl/Tk GUI toolkit
|
10
|
+
written in Ruby using the classic Tcl/Tk GUI toolkit
|
11
|
+
and developed with Arcadia itself.
|
11
12
|
|
12
|
-
Some of Arcadia
|
13
|
+
Some of Arcadia IDE project features include:
|
13
14
|
* Editor with source browsing, syntax highlighting, code completion
|
14
15
|
* Working on any platform where Ruby and Tcl-Tk work.
|
15
16
|
* Debugging support
|
@@ -18,10 +19,6 @@ Some of Arcadia ide project features include:
|
|
18
19
|
## How to install
|
19
20
|
* `exec on command line "gem install arcadia"`
|
20
21
|
|
21
|
-
NOTE: on some linux distributions like archlinux the default Tcl/Tk runtime at this time is on versions >= 8.6
|
22
|
-
on the other hand ruby-tk supports fully only versions <= 8.5.x.y so to make arcadia working a choice
|
23
|
-
can be install ActiveTcl 8.5 and use ruby via rvm.
|
24
|
-
|
25
22
|
## How to run
|
26
23
|
* `exec on command line "arcadia"`
|
27
24
|
|
@@ -29,20 +26,41 @@ can be install ActiveTcl 8.5 and use ruby via rvm.
|
|
29
26
|
[https://github.com/angal/arcadia/wiki]
|
30
27
|
|
31
28
|
## News
|
29
|
+
[1.1.0] This release:
|
30
|
+
- added possibility to define custom runner:
|
31
|
+
go to "run current" menubutton and click on "Manage runner ...". A dialog window will open.
|
32
|
+
You can do actions as: "add new runner", "copy a runner", "delete a personal runner", "save".
|
33
|
+
The list of runners is usable also in "Dir Projects".
|
34
|
+
|
35
|
+
These are keywords that you can use in cmd definitions (see preconfigured runners):
|
36
|
+
<<RUBY>> ruby interpreter
|
37
|
+
<<FILE>> current file
|
38
|
+
<<DIR>> current dir
|
39
|
+
<<FILE_BASENAME>> basename of current file
|
40
|
+
<<FILE_BASENAME_WITHOUT_EXT>> basename of current file without extension
|
41
|
+
<<INPUT_FILE>> open select file dialog to get file
|
42
|
+
<<INPUT_DIR>> open select dir dialog to get dir
|
43
|
+
<<INPUT_STRING>> open select string dialog to get a generic string
|
44
|
+
|
45
|
+
- on ruby >= 2.0 added runner "debug selected as ruby file in console"
|
46
|
+
- on ruby >= 2.0 discontinued dependence from rdebug gem
|
47
|
+
- done changes for ruby >= 2.0 and tck/tk 8.6 compatability
|
48
|
+
- improved "Output", added option to auto open in editor a file, usefull with
|
49
|
+
the runner "debug selected as ruby file in console"
|
50
|
+
- fixed bugs
|
51
|
+
- introduces other general improvements
|
52
|
+
|
32
53
|
[1.0.0]
|
33
|
-
This release:
|
34
54
|
- improves crossplatform features
|
35
55
|
- changes dialogs metaphor
|
36
56
|
- improves start speed
|
37
57
|
- introduces other general improvements
|
38
58
|
|
39
59
|
[0.13.1]
|
40
|
-
This release:
|
41
60
|
- added Russian translation (Thanks to Michael)
|
42
61
|
- bug fixes and various improvements
|
43
62
|
|
44
63
|
[0.13.0]
|
45
|
-
This release:
|
46
64
|
- improves file-history introducing bookmarks management
|
47
65
|
- improves layout
|
48
66
|
- fixes bugs
|
@@ -68,23 +86,23 @@ can be install ActiveTcl 8.5 and use ruby via rvm.
|
|
68
86
|
|
69
87
|
## Dependencies
|
70
88
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
89
|
+
- rubygems
|
90
|
+
- ruby-tk
|
91
|
+
- tcl/tk
|
92
|
+
- tk-tile (if Tcl/Tk < 8.5)
|
93
|
+
- ctags (Linux)
|
94
|
+
- xterm (Linux, optional)
|
95
|
+
- xdotool (Linux, optional)
|
96
|
+
- ack (optional)
|
97
|
+
- gem coderay (> 1.0)
|
98
|
+
- gem debugger (only for Ruby < 2.0)
|
99
|
+
- gem win32-process (only on Windows)
|
100
|
+
- gem ruby-wmi (only on Windows)
|
83
101
|
|
84
102
|
|
85
103
|
## Short User guide
|
86
104
|
Application layout is splitted in vertical and horizontal resizable frames.
|
87
|
-
On vertical and horizontal splitter
|
105
|
+
On vertical and horizontal splitter two button appear for left or right
|
88
106
|
one shot frame closing.
|
89
107
|
Every frame has a title, a button to expand or resizing it and a menu-button
|
90
108
|
for dynamic layout functions (like add row, add column, close or for move a frame).
|
@@ -94,11 +112,11 @@ The toolbar button are in order:
|
|
94
112
|
- new, open, save, find
|
95
113
|
(relatively to edit/find operation)
|
96
114
|
after "new" there is a menubutton to choose a type of file
|
115
|
+
- new, open Dir Project, search in files, Open terminal from current folder, Toggle bookmark
|
97
116
|
- run current, run last
|
98
117
|
(for execute the raised file in the editor or the last runned file)
|
99
118
|
after "run current" there is a menubutton to choose a configurated runner to apply at current file
|
100
|
-
- debug current, debug last, quit debug panel
|
101
|
-
(for debug need)
|
119
|
+
- (on ruby < 2.0) debug current, debug last, quit debug panel
|
102
120
|
- quit (to exit from arcadia)
|
103
121
|
|
104
122
|
#### Editor
|
@@ -134,6 +152,7 @@ These are same editor short-cut:
|
|
134
152
|
It is a navigational tree:
|
135
153
|
- open or create dir as project
|
136
154
|
- make commons file system activity (by contextual menu)
|
155
|
+
- make custom action (by runners)
|
137
156
|
- open terminal from selected dir
|
138
157
|
|
139
158
|
#### File history
|
@@ -141,13 +160,56 @@ The last used files are organizing in tree so you can reopen them or their
|
|
141
160
|
directory by clicking on the tree node.
|
142
161
|
|
143
162
|
#### Debug
|
144
|
-
Require debugger gem.
|
163
|
+
Require debugger gem and ruby < 2.0.
|
145
164
|
It is created when a debug session init.
|
146
165
|
The debug button are: Step Next, Step Into, Step Over, Resume and quit.
|
147
166
|
The debug frame show the local, instance and global variables for each
|
148
167
|
step.
|
149
168
|
|
150
|
-
NOTE: at this moment
|
169
|
+
NOTE: at this moment on ruby >= 2.0 you can debug by using "debug selected as ruby file in console" runner
|
170
|
+
and optionally on "Output" the flag "auto open file in editor" using standard ruby debug input commands:
|
171
|
+
|
172
|
+
Debugger help v.-0.002b
|
173
|
+
Commands
|
174
|
+
b[reak] [file:|class:]<line|method>
|
175
|
+
b[reak] [class.]<line|method>
|
176
|
+
set breakpoint to some position
|
177
|
+
wat[ch] <expression> set watchpoint to some expression
|
178
|
+
cat[ch] (<exception>|off) set catchpoint to an exception
|
179
|
+
b[reak] list breakpoints
|
180
|
+
cat[ch] show catchpoint
|
181
|
+
del[ete][ nnn] delete some or all breakpoints
|
182
|
+
disp[lay] <expression> add expression into display expression list
|
183
|
+
undisp[lay][ nnn] delete one particular or all display expressions
|
184
|
+
c[ont] run until program ends or hit breakpoint
|
185
|
+
s[tep][ nnn] step (into methods) one line or till line nnn
|
186
|
+
n[ext][ nnn] go over one line or till line nnn
|
187
|
+
w[here] display frames
|
188
|
+
f[rame] alias for where
|
189
|
+
l[ist][ (-|nn-mm)] list program, - lists backwards
|
190
|
+
nn-mm lists given lines
|
191
|
+
up[ nn] move to higher frame
|
192
|
+
down[ nn] move to lower frame
|
193
|
+
fin[ish] return to outer frame
|
194
|
+
tr[ace] (on|off) set trace mode of current thread
|
195
|
+
tr[ace] (on|off) all set trace mode of all threads
|
196
|
+
q[uit] exit from debugger
|
197
|
+
v[ar] g[lobal] show global variables
|
198
|
+
v[ar] l[ocal] show local variables
|
199
|
+
v[ar] i[nstance] <object> show instance variables of object
|
200
|
+
v[ar] c[onst] <object> show constants of object
|
201
|
+
m[ethod] i[nstance] <obj> show methods of object
|
202
|
+
m[ethod] <class|module> show instance methods of class or module
|
203
|
+
th[read] l[ist] list all threads
|
204
|
+
th[read] c[ur[rent]] show current thread
|
205
|
+
th[read] [sw[itch]] <nnn> switch thread context to nnn
|
206
|
+
th[read] stop <nnn> stop thread nnn
|
207
|
+
th[read] resume <nnn> resume thread nnn
|
208
|
+
pp expression evaluate expression and pretty_print its value
|
209
|
+
p expression evaluate expression and print its value
|
210
|
+
r[estart] restart program
|
211
|
+
h[elp] print this help
|
212
|
+
<everything else> evaluate
|
151
213
|
|
152
214
|
#### Configuration
|
153
215
|
Same Arcadia properties are locally configurabled by editing the file arcadia.conf
|
data/conf/LC/en-UK.LANG
CHANGED
@@ -4,6 +4,7 @@ main.menu.file.open=Open
|
|
4
4
|
main.menu.file.new=New
|
5
5
|
main.menu.file.save=Save
|
6
6
|
main.menu.file.save_as=Save as ...
|
7
|
+
main.menu.file.delete=Delete current file
|
7
8
|
main.menu.file.quit=Quit
|
8
9
|
#main.menu.edit
|
9
10
|
main.menu.edit=Edit
|
@@ -90,6 +91,8 @@ main.d.confirm_delete_ext_instance.msg=Shure delete '$0'?
|
|
90
91
|
main.d.confirm_delete_ext_instance.title=(Arcadia) Delete $0
|
91
92
|
main.d.confirm_override_file.msg=The filename $0 already exists. Do you want to overwrite it?
|
92
93
|
main.d.confirm_override_file.title=Overriding existing file
|
94
|
+
main.d.confirm_exit_runners_manager.msg=Something has changed! Really do you want to close?
|
95
|
+
main.d.confirm_exit_runners_manager.title=(Arcadia) Close dialog
|
93
96
|
main.about.by=by $0
|
94
97
|
main.about.version=version: $0
|
95
98
|
main.about.contributors=Contributors: $0
|
@@ -159,6 +162,8 @@ ext.editor.file.save_modified.msg=$0 modified. Save?
|
|
159
162
|
ext.editor.file.save_modified.title=Confirm saving
|
160
163
|
ext.editor.file.close_modified_by_other.msg=$0 modified by other process. Continue closing?
|
161
164
|
ext.editor.file.close_modified_by_other.title=Continue closing
|
165
|
+
ext.editor.file.d.delete.msg=Delete $0 ?
|
166
|
+
ext.editor.file.d.delete.title=Confirm delete
|
162
167
|
ext.editor.e.ctags.msg="exuberant ctags" package is required by class browsing, without it only ruby language is supported!
|
163
168
|
ext.editor.e.ctags.title=Exuberant Ctags missing!
|
164
169
|
ext.editor.e.prettify.title=(Arcadia) code prettify
|
@@ -179,6 +184,7 @@ ext.dir_projects.menu.refactor=Refactor
|
|
179
184
|
ext.dir_projects.menu.refactor.rename=Rename
|
180
185
|
ext.dir_projects.menu.refactor.move=Move
|
181
186
|
ext.dir_projects.menu.search=Search from here
|
187
|
+
ext.dir_projects.menu.runners=Runners
|
182
188
|
ext.dir_projects.menu.search.find=Find in files...
|
183
189
|
ext.dir_projects.menu.search.act=Act in files...
|
184
190
|
ext.dir_projects.menu.term=Terminal from here
|
data/conf/LC/ru-RU.LANG
CHANGED
File without changes
|
data/conf/arcadia.conf
CHANGED
@@ -318,7 +318,8 @@ hightlight.debug.foreground=#d95ed9
|
|
318
318
|
hightlight.debug.background=#b3c1d9
|
319
319
|
hightlight.debug.borderwidth=2
|
320
320
|
hightlight.debug.relief=groove
|
321
|
-
hightlight.edge.foreground=#3c3c3c
|
321
|
+
#hightlight.edge.foreground=#3c3c3c
|
322
|
+
hightlight.edge.foreground=#00006f5c6f5c
|
322
323
|
hightlight.prompt.foreground=#009900
|
323
324
|
hightlight.system_error.foreground=#ffff00
|
324
325
|
hightlight.system_error.background=#990000
|
@@ -385,7 +386,7 @@ user_menu.contexts=File,Edit,Search,View,Tools,Help,menubutton_run,menubutton_ne
|
|
385
386
|
#---- File
|
386
387
|
user_menu.File.context_underline=0
|
387
388
|
user_menu.File.context_path=/
|
388
|
-
user_menu.File=open,new,save,save_as,-,quit
|
389
|
+
user_menu.File=open,new,save,save_as,-,delete,-,quit
|
389
390
|
#
|
390
391
|
user_menu.File.open.name=open
|
391
392
|
#user_menu.File.open.hint=Open
|
@@ -410,6 +411,9 @@ user_menu.File.save_as.name=save_as
|
|
410
411
|
user_menu.File.save_as.caption=!Arcadia.text('main.menu.file.save_as')
|
411
412
|
user_menu.File.save_as.event_class=!SaveAsBufferEvent
|
412
413
|
|
414
|
+
user_menu.File.delete.name=delete
|
415
|
+
user_menu.File.delete.caption=!Arcadia.text('main.menu.file.delete')
|
416
|
+
user_menu.File.delete.event_class=!DeleteFileBufferEvent
|
413
417
|
|
414
418
|
user_menu.File.quit.name=quit
|
415
419
|
#user_menu.File.quit.hint=Quit
|
@@ -668,9 +672,9 @@ theme=dark
|
|
668
672
|
# runners keywords related the current file => FILE, DIR, FILE_BASENAME, FILE_BASENAME_WITHOUT_EXT
|
669
673
|
runners_instance_history=3
|
670
674
|
runners.ruby_file = {:lang=>"ruby",:cmd=>"<<RUBY>> -C'<<DIR>>' '<<FILE>>'",:file=>"*CURR",:title=>Arcadia.text('main.runner.run_selected.title',['ruby']),:file_exts=>".rb,.rbw"}
|
671
|
-
#runners.ruby.debug_console = {:lang=>"ruby",:cmd=>"rdebug <<FILE>>",:file=>"*CURR",:title=>Arcadia.text('main.runner.rdebug_selected.title',['ruby']),:file_exts=>".rb,.rbw"}
|
672
675
|
WINDOWS::runners.ruby_file = {:lang=>"ruby", :cmd=>"rubyw -C'<<DIR>>' '<<FILE>>'",:file=>"*CURR",:title=>Arcadia.text('main.runner.run_selected.title',['ruby']),:file_exts=>".rb,.rbw"}
|
676
|
+
2:@:runners.ruby.debug.curr.inconsole = {:cmd=>"<<RUBY>> -r debug '<<FILE>>'",:file=>"*CURR",:title=>Arcadia.text('main.runner.rdebug_selected.title',['ruby']),:file_exts=>".rb,.rbw",:image=>DEBUG_CURRENT_GIF}
|
673
677
|
runners.java_file = {:lang=>"java",:cmd=>"javac -g <<FILE>> && java -classpath <<DIR>> <<FILE_BASENAME_WITHOUT_EXT>>",:file=>"*CURR",:title=>Arcadia.text('main.runner.compile_and_run_selected.title',['java']),:file_exts=>".java"}
|
674
678
|
runners.python_file = {:lang=>"python",:cmd=>"python '<<FILE>>'",:file=>"*CURR",:title=>Arcadia.text('main.runner.run_selected.title',['python']),:file_exts=>".py", :lang=>"python"} # todo delete file_exts
|
675
679
|
runners.generic_file = {:cmd=>"<<FILE>>",:file=>"*CURR",:title=>Arcadia.text('main.runner.run_selected.title',['generic']),:file_exts=>""}
|
676
|
-
#runners.android.new_project = {:cmd=>"android --name <<
|
680
|
+
#runners.android.new_project = {:cmd=>"android --name <<INPUT_STRING>> --version <<INPUT_STRING>>",:title=>"Test - Create new Android project",:file_exts=>""}
|
data/conf/arcadia.res.rb
CHANGED
@@ -1815,6 +1815,91 @@ ybL3Jxknt4ZJuUloh5dWeRUSmli0OuVUU8eEqgnJ0rlherrkyhrbuxUMKExc
|
|
1815
1815
|
bHyMnKy8zNwMUgAAOw==
|
1816
1816
|
EOS
|
1817
1817
|
|
1818
|
+
ARCADIA_7THE_GIF=<<EOS
|
1819
|
+
R0lGODlhGwESAOfTAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoK
|
1820
|
+
CgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBoa
|
1821
|
+
GhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJScnJygoKCkpKSsr
|
1822
|
+
KywsLC0tLS4uLi8vLzAwMDIyMjMzMzQ0NDU1NTY2Njc3Nzk5OTo6Ojs7Ozw8
|
1823
|
+
PD09PT4+Pj8/P0BAQEJCQkNDQ0VFRUZGRkhISEpKSktLS09PT1BQUFFRUVJS
|
1824
|
+
UlRUVFVVVVZWVllZWVpaWlxcXF1dXV5eXmBgYGFhYWJiYmRkZGZmZmdnZ2pq
|
1825
|
+
amtra2xsbG1tbW5ubm9vb3BwcHFxcXNzc3V1dXx8fH19fX5+fn9/f4CAgIKC
|
1826
|
+
goODg4SEhIWFhYaGhoeHh4iIiIuLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOT
|
1827
|
+
k5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKi
|
1828
|
+
oqOjo6SkpKWlpaampqenp6ioqKqqqqysrK2tra6urq+vr7CwsLGxsbKysrOz
|
1829
|
+
s7S0tLW1tba2tri4uLm5ubu7u7y8vL29vb+/v8PDw8TExMXFxcbGxsfHx8nJ
|
1830
|
+
ycrKysvLy8zMzM3Nzc/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19nZ2dra
|
1831
|
+
2tvb29zc3N3d3d7e3t/f3+Dg4OHh4eLi4uTk5OXl5ebm5ufn5+jo6Onp6erq
|
1832
|
+
6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5
|
1833
|
+
+fr6+vv7+/z8/P39/f7+/v//////////////////////////////////////
|
1834
|
+
////////////////////////////////////////////////////////////
|
1835
|
+
////////////////////////////////////////////////////////////
|
1836
|
+
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
|
1900
|
+
cUQUcCzQ0F0PU20VYQwF9QEoDTELGwAAAQEAOw==
|
1901
|
+
EOS
|
1902
|
+
|
1818
1903
|
|
1819
1904
|
MENUBUTTON_ARROW_DOWN_GIF=<<EOS
|
1820
1905
|
R0lGODlhCQAKAIABADOi1P///yH5BAEAAAEALAAAAAAJAAoAAAIUDBB5uofs
|
@@ -2048,4 +2133,4 @@ CHECKBOX_2_DARK_GIF=<<EOS
|
|
2048
2133
|
R0lGODlhEAAQAMIDAD8/P4yMjKampv///////////////////yH5BAEAAAQA
|
2049
2134
|
LAAAAAAQABAAAAM6SLrc/k7ISWVYAujNxVUZJ3qYNpyoRoImeqofEbovsMqt
|
2050
2135
|
C5cAPeysHg2IE3ViISOxwrwFntAoFEJNAAA7
|
2051
|
-
EOS
|
2136
|
+
EOS
|
data/conf/theme-dark.conf
CHANGED
@@ -444,7 +444,23 @@ class DirProjects < ArcadiaExtPlus
|
|
444
444
|
:menu=>sub_ref_search,
|
445
445
|
:hidemargin => false
|
446
446
|
)
|
447
|
+
|
448
|
+
#-----------------
|
449
|
+
#----- runners submenu
|
450
|
+
@sub_ref_runners = Arcadia.wf.menu(
|
451
|
+
:parent=>@pop_up_tree,
|
452
|
+
:tearoff=>0,
|
453
|
+
:title => Arcadia.text('ext.dir_projects.menu.runners')
|
454
|
+
)
|
447
455
|
|
456
|
+
@pop_up_tree.insert('end',
|
457
|
+
:cascade,
|
458
|
+
:label=>Arcadia.text('ext.dir_projects.menu.runners'),
|
459
|
+
:menu=>@sub_ref_runners,
|
460
|
+
:hidemargin => false
|
461
|
+
)
|
462
|
+
|
463
|
+
#-----------------
|
448
464
|
|
449
465
|
@pop_up_tree.insert('end',
|
450
466
|
:command,
|
@@ -522,6 +538,19 @@ class DirProjects < ArcadiaExtPlus
|
|
522
538
|
_x = TkWinfo.pointerx(@htree)
|
523
539
|
_y = TkWinfo.pointery(@htree)
|
524
540
|
@pop_up_tree.popup(_x,_y)
|
541
|
+
|
542
|
+
selected = @htree.selected
|
543
|
+
if selected && @htree.exist?(selected)
|
544
|
+
if File.ftype(selected) == 'file'
|
545
|
+
file = selected
|
546
|
+
dir = nil
|
547
|
+
else
|
548
|
+
file = nil
|
549
|
+
dir = selected
|
550
|
+
end
|
551
|
+
Arcadia.instance.refresh_runners_on_menu(@sub_ref_runners, file, dir)
|
552
|
+
end
|
553
|
+
|
525
554
|
},
|
526
555
|
"%x %y")
|
527
556
|
end
|
@@ -818,7 +847,7 @@ class DirProjects < ArcadiaExtPlus
|
|
818
847
|
else
|
819
848
|
_msg = Arcadia.text("ext.dir_projects.d.delete.msg", [_node, 'file'])
|
820
849
|
end
|
821
|
-
if !_interactive || Arcadia.dialog(self,'type'=>'yes_no', 'level'=>'warning','title' => Arcadia.text("ext.dir_projects.d.delete.title"), 'msg'=>_msg)=='yes'
|
850
|
+
if !_interactive || type == 'file' || Arcadia.dialog(self,'type'=>'yes_no', 'level'=>'warning','title' => Arcadia.text("ext.dir_projects.d.delete.title"), 'msg'=>_msg)=='yes'
|
822
851
|
delete_node = true
|
823
852
|
if type == 'directory'
|
824
853
|
entries = Dir.entries(node2file(_node))
|
@@ -846,8 +875,9 @@ class DirProjects < ArcadiaExtPlus
|
|
846
875
|
del_project(_node)
|
847
876
|
end
|
848
877
|
else
|
849
|
-
Arcadia.process_event(
|
850
|
-
|
878
|
+
_event = Arcadia.process_event(DeleteFileBufferEvent.new(self,'file'=>node2file(_node)))
|
879
|
+
delete_node = _event && _event.flag == Event::FLAG_DEFAULT
|
880
|
+
#File.delete(node2file(_node))
|
851
881
|
end
|
852
882
|
shure_delete_node(_node) if delete_node
|
853
883
|
end
|
@@ -896,6 +926,9 @@ class DirProjects < ArcadiaExtPlus
|
|
896
926
|
_drawcross = 'always'
|
897
927
|
end
|
898
928
|
rescue Errno::EACCES
|
929
|
+
return
|
930
|
+
rescue Errno::ENOENT
|
931
|
+
return
|
899
932
|
end
|
900
933
|
end
|
901
934
|
@htree.insert('end', _parent ,_node, {
|
@@ -929,6 +962,9 @@ class DirProjects < ArcadiaExtPlus
|
|
929
962
|
end
|
930
963
|
|
931
964
|
def add_project(_dir)
|
965
|
+
if _dir && _dir.length > 0 && _dir[-1..-1] == File::SEPARATOR
|
966
|
+
_dir = _dir[0..-2]
|
967
|
+
end
|
932
968
|
@projects[_dir] = Project.new(_dir)
|
933
969
|
add_node('root', _dir, "project")
|
934
970
|
add_project_to_file(_dir)
|
@@ -1012,7 +1048,7 @@ class DirProjects < ArcadiaExtPlus
|
|
1012
1048
|
f = File.new(projects_file, "w")
|
1013
1049
|
begin
|
1014
1050
|
_lines.each{|_line|
|
1015
|
-
f.syswrite(_line+"\n")
|
1051
|
+
f.syswrite(_line+"\n") if _line.strip[0..0] == '#' || File.exists?(_line)
|
1016
1052
|
}
|
1017
1053
|
f.syswrite(_project+"\n")
|
1018
1054
|
ensure
|
@@ -1078,7 +1114,7 @@ class DirProjects < ArcadiaExtPlus
|
|
1078
1114
|
path = File::SEPARATOR
|
1079
1115
|
end
|
1080
1116
|
path = path + steps[j]
|
1081
|
-
if @htree.exist?(path)
|
1117
|
+
if @htree.exist?(path)
|
1082
1118
|
@htree.open_tree(path, false)
|
1083
1119
|
end
|
1084
1120
|
j=j+1
|
@@ -1125,4 +1161,4 @@ class DirProjects < ArcadiaExtPlus
|
|
1125
1161
|
end
|
1126
1162
|
|
1127
1163
|
|
1128
|
-
end
|
1164
|
+
end
|