arcadia 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|