xiki 0.5.1a → 0.5.3a
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -11
- data/README.markdown +67 -43
- data/bin/xiki +2 -15
- data/etc/command/xiki_command.rb +115 -41
- data/etc/command/xiki_process.rb +3 -7
- data/etc/install/el4r_setup.sh +5 -0
- data/etc/themes/Black_BG.notes +8 -0
- data/etc/themes/Dark_Metal.notes +0 -6
- data/etc/themes/Default.notes +24 -0
- data/etc/themes/Fall_Fonts.notes +6 -0
- data/etc/themes/Light_Gray_BG_Theme.notes +6 -0
- data/etc/themes/Orange_Path.notes +1 -1
- data/etc/themes/Pastel_Fonts.notes +6 -0
- data/etc/themes/Path_Mode_Line.notes +36 -0
- data/etc/themes/Rainbow_Fonts.notes +20 -0
- data/etc/themes/Shiny_Blue.notes +14 -18
- data/etc/themes/Shiny_Green.notes +0 -6
- data/etc/themes/White_BG.notes +5 -0
- data/etc/vim/vim_status.notes +32 -0
- data/etc/vim/xiki.vim +16 -0
- data/etc/wrappers/wrapper.rb +2 -2
- data/etc/www/index.rb +1 -1
- data/etc/www/public/error.html +47 -0
- data/etc/www/sinatra_server.rb +353 -0
- data/etc/www/web_server.rb +0 -252
- data/lib/xiki.rb +94 -26
- data/lib/{block.rb → xiki/block.rb} +0 -0
- data/lib/{bookmarks.rb → xiki/bookmarks.rb} +11 -10
- data/lib/{buffers.rb → xiki/buffers.rb} +10 -10
- data/lib/{clipboard.rb → xiki/clipboard.rb} +2 -2
- data/lib/{code.rb → xiki/code.rb} +3 -7
- data/lib/{code_tree.rb → xiki/code_tree.rb} +3 -3
- data/lib/{color.rb → xiki/color.rb} +4 -14
- data/lib/{console.rb → xiki/console.rb} +6 -0
- data/lib/{control_lock.rb → xiki/control_lock.rb} +5 -1
- data/lib/{control_tab.rb → xiki/control_tab.rb} +3 -1
- data/lib/{core_ext.rb → xiki/core_ext.rb} +7 -3
- data/lib/{cursor.rb → xiki/cursor.rb} +4 -5
- data/lib/{deletes.rb → xiki/deletes.rb} +0 -0
- data/lib/{diff_log.rb → xiki/diff_log.rb} +4 -4
- data/lib/{effects.rb → xiki/effects.rb} +5 -2
- data/lib/{environment.rb → xiki/environment.rb} +0 -0
- data/lib/{file_tree.rb → xiki/file_tree.rb} +34 -24
- data/lib/{files.rb → xiki/files.rb} +15 -5
- data/lib/{hide.rb → xiki/hide.rb} +0 -0
- data/lib/{history.rb → xiki/history.rb} +1 -0
- data/lib/{image.rb → xiki/image.rb} +0 -0
- data/lib/{incrementer.rb → xiki/incrementer.rb} +0 -0
- data/lib/{insert.rb → xiki/insert.rb} +0 -0
- data/lib/{irc.rb → xiki/irc.rb} +0 -0
- data/lib/{key_bindings.rb → xiki/key_bindings.rb} +7 -4
- data/lib/{keys.rb → xiki/keys.rb} +32 -36
- data/lib/{launcher.rb → xiki/launcher.rb} +42 -23
- data/lib/{line.rb → xiki/line.rb} +1 -1
- data/lib/{links.rb → xiki/links.rb} +0 -0
- data/lib/{location.rb → xiki/location.rb} +0 -0
- data/lib/{macros.rb → xiki/macros.rb} +0 -0
- data/lib/{man.rb → xiki/man.rb} +0 -0
- data/lib/{menu.rb → xiki/menu.rb} +62 -11
- data/lib/{merb.rb → xiki/merb.rb} +1 -1
- data/lib/{message.rb → xiki/message.rb} +0 -0
- data/lib/{meths.rb → xiki/meths.rb} +0 -0
- data/lib/{mode.rb → xiki/mode.rb} +0 -0
- data/lib/{move.rb → xiki/move.rb} +1 -1
- data/lib/{notes.rb → xiki/notes.rb} +41 -37
- data/lib/{numbers.rb → xiki/numbers.rb} +0 -0
- data/lib/{ol.rb → xiki/ol.rb} +2 -3
- data/lib/{ol_helper.rb → xiki/ol_helper.rb} +0 -0
- data/lib/{overlay.rb → xiki/overlay.rb} +0 -0
- data/lib/{pause_means_space.rb → xiki/pause_means_space.rb} +2 -2
- data/lib/{php.rb → xiki/php.rb} +0 -0
- data/lib/{projects.rb → xiki/projects.rb} +8 -1
- data/lib/{relinquish_exception.rb → xiki/relinquish_exception.rb} +0 -0
- data/lib/{remote.rb → xiki/remote.rb} +2 -2
- data/lib/{requirer.rb → xiki/requirer.rb} +3 -3
- data/lib/{rest_tree.rb → xiki/rest_tree.rb} +0 -0
- data/lib/{ruby.rb → xiki/ruby.rb} +0 -0
- data/lib/{ruby_console.rb → xiki/ruby_console.rb} +0 -0
- data/lib/{search.rb → xiki/search.rb} +7 -8
- data/lib/{search_term.rb → xiki/search_term.rb} +0 -0
- data/lib/{snippet.rb → xiki/snippet.rb} +0 -0
- data/lib/{specs.rb → xiki/specs.rb} +0 -0
- data/lib/{styles.rb → xiki/styles.rb} +8 -72
- data/lib/{svn.rb → xiki/svn.rb} +0 -0
- data/lib/{text_util.rb → xiki/text_util.rb} +2 -2
- data/lib/{tree.rb → xiki/tree.rb} +40 -32
- data/lib/{tree_cursor.rb → xiki/tree_cursor.rb} +0 -0
- data/lib/{trouble_shooting.rb → xiki/trouble_shooting.rb} +0 -0
- data/lib/{url_tree.rb → xiki/url_tree.rb} +0 -0
- data/lib/{view.rb → xiki/view.rb} +39 -16
- data/lib/xiki/vim/line.rb +8 -0
- data/lib/xiki/vim/tree.rb +9 -0
- data/lib/{window.rb → xiki/window.rb} +0 -0
- data/menus/address_book.rb +6 -4
- data/menus/agenda.rb +3 -3
- data/menus/amazon.rb +2 -2
- data/menus/applescript.rb +21 -10
- data/menus/black.menu +1 -0
- data/menus/bootstrap.rb +2 -7
- data/menus/browser.rb +8 -5
- data/menus/cassandra_db.rb +2 -2
- data/menus/chmod.rb +1 -1
- data/menus/conf.rb +5 -0
- data/menus/cookies.rb +1 -1
- data/menus/css.rb +2 -2
- data/menus/deck.rb +1 -1
- data/menus/dimensions_config.menu +30 -0
- data/menus/dimensions_config.rb +5 -0
- data/menus/docs.rb +33 -34
- data/menus/dotsies.rb +1 -0
- data/menus/emacs.rb +7 -2
- data/menus/firefox.rb +25 -25
- data/menus/git.rb +1 -1
- data/menus/gito.rb +2 -2
- data/menus/headings.rb +3 -3
- data/menus/ip.rb +2 -4
- data/menus/itunes.rb +9 -2
- data/menus/javascript.rb +3 -1
- data/menus/local_storage.rb +4 -4
- data/menus/mac.rb +2 -1
- data/menus/maps.rb +2 -2
- data/menus/models.rb +31 -0
- data/menus/mongo.rb +2 -2
- data/menus/piano.rb +47 -23
- data/menus/r.rb +57 -0
- data/menus/rails.rb +89 -27
- data/menus/redmine.rb +1 -1
- data/menus/sass.rb +1 -1
- data/menus/settings.menu +2 -0
- data/menus/technologies.rb +4 -1
- data/menus/web_interface.rb +58 -0
- data/menus/welcome.menu +18 -0
- data/menus/white.menu +1 -0
- data/menus/youtube.rb +32 -0
- data/spec/code_tree_spec.rb +1 -1
- data/spec/diff_log_spec.rb +4 -4
- data/spec/file_tree_spec.rb +2 -2
- data/spec/line_spec.rb +2 -2
- data/spec/menu_spec.rb +5 -5
- data/spec/ol_spec.rb +3 -3
- data/spec/remote_spec.rb +2 -2
- data/spec/search_spec.rb +2 -2
- data/spec/text_util_spec.rb +1 -1
- data/spec/tree_cursor_spec.rb +3 -3
- data/spec/tree_spec.rb +3 -3
- data/xiki.gemspec +22 -6
- metadata +311 -76
- data/menus/dir.rb +0 -8
File without changes
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require 'location'
|
2
|
-
require 'keys'
|
1
|
+
require 'xiki/location'
|
2
|
+
require 'xiki/keys'
|
3
3
|
require 'yaml'
|
4
4
|
|
5
5
|
class Bookmarks
|
@@ -61,9 +61,9 @@ class Bookmarks
|
|
61
61
|
|
62
62
|
# If arg is a symbol, use it as the prefix
|
63
63
|
prefix = ""
|
64
|
-
if arg && arg.
|
64
|
+
if arg && arg.class == Symbol
|
65
65
|
prefix = arg.to_s
|
66
|
-
elsif arg && arg.
|
66
|
+
elsif arg && arg.class == String
|
67
67
|
self.set(arg.sub(/^\$/, ""))
|
68
68
|
return
|
69
69
|
end
|
@@ -158,9 +158,9 @@ class Bookmarks
|
|
158
158
|
#el4r_lisp_eval "(require 'bookmark)(bookmark-maybe-load-default-file)"
|
159
159
|
# If arg is a symbol, use it as the prefix
|
160
160
|
prefix_to_bm = ""
|
161
|
-
if bookmark && bookmark.
|
161
|
+
if bookmark && bookmark.class == Symbol
|
162
162
|
prefix_to_bm = bookmark.to_s
|
163
|
-
elsif bookmark && bookmark.
|
163
|
+
elsif bookmark && bookmark.class == String
|
164
164
|
keys = bookmark
|
165
165
|
# return self.jump(bookmark.sub(/^\$/, ""))
|
166
166
|
end
|
@@ -228,7 +228,6 @@ class Bookmarks
|
|
228
228
|
end
|
229
229
|
end
|
230
230
|
return path if bm.nil?
|
231
|
-
|
232
231
|
# If a slash, cut off filename if there is one (only dir is wanted)
|
233
232
|
if options[:file_ok] # Put slash back if there was one
|
234
233
|
bm << "/" if bm !~ /\/$/ && slash.any?
|
@@ -301,13 +300,15 @@ class Bookmarks
|
|
301
300
|
if ! path # Print all bookmarks
|
302
301
|
all = $el.elvar.bookmark_alist.collect { |bm|
|
303
302
|
item = bm.to_a
|
304
|
-
|
303
|
+
|
304
|
+
second = item[1] # Either (filename . "/path") or ((filename . "/path") ...)
|
305
|
+
second = second[1].is_a?(String) ? second[1] : second[0][1]
|
306
|
+
|
307
|
+
[item[0], second]
|
305
308
|
}
|
306
309
|
all.each do |l|
|
307
310
|
n, p = l
|
308
311
|
result << "- #{n}) @#{p.sub(/\/$/,'')}\n"
|
309
|
-
# puts "- #{n.ljust(7)} #{p.sub(/\/$/,'')}"
|
310
|
-
#puts "- #{n}: #{p}"
|
311
312
|
end
|
312
313
|
return result
|
313
314
|
end
|
@@ -21,19 +21,19 @@ class Buffers
|
|
21
21
|
case Keys.prefix :clear=>true
|
22
22
|
|
23
23
|
# Show all by default
|
24
|
-
when nil, "all"
|
24
|
+
when nil, "all"; return list.map{ |b| $el.buffer_name(b) }.map{ |o| "| #{o}\n" }.join('')
|
25
25
|
|
26
26
|
# Only files (no buffers)
|
27
|
-
when :u
|
27
|
+
when :u; return list.select{ |b| $el.buffer_file_name(b) }.map{ |b| "| #{$el.buffer_name(b)}\n" }.join('')
|
28
28
|
|
29
29
|
# Only buffer without files
|
30
|
-
when 0
|
30
|
+
when 0; return list.select{ |b| ! $el.buffer_file_name(b) }.map{ |b| "| #{$el.buffer_name(b)}\n" }[1..-1].join('')
|
31
31
|
|
32
|
-
when 1
|
33
|
-
when 3
|
34
|
-
when 4
|
35
|
-
when 6
|
36
|
-
when 7
|
32
|
+
when 1; return list.select{ |b| $el.buffer_file_name(b) }.map{ |b| $el.buffer_name(b) }[1..-1]
|
33
|
+
when 3; return list.select{ |b| ! $el.buffer_file_name(b) && $el.buffer_name(b) =~ /^#/ }.map{ |b| $el.buffer_name(b) }
|
34
|
+
when 4; return list.select{ |b| ! $el.buffer_file_name(b) && $el.buffer_name(b) =~ /^\*console / }.map{ |b| $el.buffer_name(b) }
|
35
|
+
when 6; return list.select{ |b| $el.buffer_file_name(b) =~ /\.rb$/ }.map{ |b| $el.buffer_name(b) }
|
36
|
+
when 7; return list.select{ |b| $el.buffer_file_name(b) =~ /\.notes$/ }.map{ |b| $el.buffer_name(b) }
|
37
37
|
|
38
38
|
end
|
39
39
|
return
|
@@ -132,8 +132,8 @@ class Buffers
|
|
132
132
|
|
133
133
|
def self.open_viewing
|
134
134
|
case Keys.prefix
|
135
|
-
when nil
|
136
|
-
when 0
|
135
|
+
when nil; Launcher.open("- Buffers.tree 25/")
|
136
|
+
when 0; Launcher.open("- Buffers.tree/")
|
137
137
|
else Launcher.open("- Buffers.tree #{Keys.prefix}/")
|
138
138
|
end
|
139
139
|
end
|
@@ -1,10 +1,6 @@
|
|
1
|
-
require 'block'
|
1
|
+
require 'xiki/block'
|
2
2
|
require 'stringio'
|
3
|
-
|
4
|
-
require 'ruby2ruby'
|
5
|
-
gem 'ParseTree'
|
6
|
-
require 'parse_tree'
|
7
|
-
require 'parse_tree_extensions' # required for .to_ruby
|
3
|
+
|
8
4
|
class Code
|
9
5
|
|
10
6
|
def self.menu
|
@@ -643,7 +639,7 @@ class Code
|
|
643
639
|
end
|
644
640
|
|
645
641
|
def self.to_ruby o
|
646
|
-
o.
|
642
|
+
o.to_source
|
647
643
|
end
|
648
644
|
|
649
645
|
def self.isearch_just_should
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require 'line'
|
2
|
-
require 'ol'
|
1
|
+
require 'xiki/line'
|
2
|
+
require 'xiki/ol'
|
3
3
|
|
4
4
|
class CodeTree
|
5
5
|
|
@@ -104,7 +104,7 @@ class CodeTree
|
|
104
104
|
if ! stdout.nonempty? and ! returned.nil?
|
105
105
|
stdout = self.returned_to_s returned
|
106
106
|
else
|
107
|
-
message(returned.to_s) if returned and (!returned.is_a?(String) or returned.size < 500)
|
107
|
+
$el.message(returned.to_s) if returned and (!returned.is_a?(String) or returned.size < 500)
|
108
108
|
end
|
109
109
|
|
110
110
|
stdout = self.draw_exception(e, code) if e
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require 'effects'
|
2
|
-
require 'styles'
|
1
|
+
require 'xiki/effects'
|
2
|
+
require 'xiki/styles'
|
3
3
|
|
4
4
|
# Colors lines, and shows only colored lines
|
5
5
|
class Color
|
@@ -175,21 +175,13 @@ class Color
|
|
175
175
|
|
176
176
|
return if ! $el
|
177
177
|
|
178
|
-
|
179
|
-
# Blue path in mode line
|
180
|
-
# Styles.define :mode_line_dir, :fg=>"7ce", :size=>"0", :face=>"arial", :bold=>false
|
181
|
-
|
182
|
-
Styles.define :mode_line_file, :fg=>"fff", :size=>"0", :face=>"arial", :bold=>false
|
183
|
-
|
184
|
-
if Styles.inverse
|
185
|
-
Styles.define :mode_line_dir, :fg=>"d93", :size=>"0", :face=>"arial", :bold=>false # Brighter
|
178
|
+
if Styles.dark_bg?
|
186
179
|
|
187
180
|
Styles.define :color_rb_red, :bg => "500"
|
188
181
|
Styles.define :color_rb_orange, :bg => "442500"
|
189
182
|
Styles.define :color_rb_yellow, :bg => "440"
|
190
183
|
Styles.define :color_rb_green, :bg => "131"
|
191
184
|
Styles.define :color_rb_white, :fg=>'222', :bg=>'fff', :border=>['fff', -1]
|
192
|
-
|
193
185
|
Styles.define :color_rb_light, :bg => "252525"
|
194
186
|
|
195
187
|
Styles.define :color_rb_blue, :bg => "005"
|
@@ -197,14 +189,12 @@ class Color
|
|
197
189
|
|
198
190
|
else
|
199
191
|
|
200
|
-
Styles.define :mode_line_dir, :fg=>"ea4", :size=>"0", :face=>"arial", :bold=>false # Brighter
|
201
|
-
|
202
192
|
Styles.define :color_rb_red, :bg => "ffd5d5"
|
203
193
|
Styles.define :color_rb_orange, :bg => "ffe5bb"
|
204
194
|
Styles.define :color_rb_yellow, :bg => "f9f9aa"
|
205
195
|
Styles.define :color_rb_green, :bg => "e0ffcc"
|
206
|
-
Styles.define :color_rb_light, :bg => "ddd"
|
207
196
|
Styles.define :color_rb_white, :fg=>'222', :bg=>'666', :border=>['666', -1]
|
197
|
+
Styles.define :color_rb_light, :bg => "ddd"
|
208
198
|
|
209
199
|
Styles.define :color_rb_blue, :bg => "dde5ff"
|
210
200
|
Styles.define :color_rb_purple, :bg => "f2ddff"
|
@@ -106,6 +106,8 @@ class Console
|
|
106
106
|
result = ""
|
107
107
|
result << stdout.readlines.join('')
|
108
108
|
result << stderr.readlines.join('')
|
109
|
+
|
110
|
+
result.force_encoding("binary") if result.respond_to? :force_encoding
|
109
111
|
result.gsub!("\c@", '.') # Replace out characters that el4r can't handle
|
110
112
|
return result
|
111
113
|
|
@@ -122,6 +124,10 @@ class Console
|
|
122
124
|
$el.erase_buffer if reuse_buffer
|
123
125
|
$el.elvar.default_directory = dir if dir
|
124
126
|
$el.shell $el.current_buffer
|
127
|
+
|
128
|
+
# Don't prompt with "buffer has a running process" when closing
|
129
|
+
$el.set_process_query_on_exit_flag $el.get_buffer_process($el.current_buffer), nil
|
130
|
+
|
125
131
|
Move.bottom
|
126
132
|
if command # If nil, just open console
|
127
133
|
$el.insert command
|
@@ -4,6 +4,10 @@
|
|
4
4
|
class ControlLock
|
5
5
|
|
6
6
|
def self.disable
|
7
|
-
$el.control_lock_enable if
|
7
|
+
$el.control_lock_enable if self.enabled?
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.enabled?
|
11
|
+
$el.boundp(:control_lock_mode_p) and $el.elvar.control_lock_mode_p
|
8
12
|
end
|
9
13
|
end
|
@@ -29,11 +29,13 @@ class ControlTab
|
|
29
29
|
View.layout_output :dont_highlight=>1
|
30
30
|
|
31
31
|
Move.to_end
|
32
|
-
Search.forward "
|
32
|
+
Search.forward "^ *-", :go_anyway=>1
|
33
33
|
if View.cursor == View.bottom
|
34
34
|
Move.to_previous_paragraph
|
35
35
|
Line.next
|
36
36
|
end
|
37
|
+
|
38
|
+
Line.to_beginning
|
37
39
|
Effects.blink
|
38
40
|
Launcher.launch
|
39
41
|
@@nine_prefix = true
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'text_util'
|
1
|
+
require 'xiki/text_util'
|
2
2
|
|
3
3
|
class Array
|
4
4
|
def blank?
|
@@ -18,11 +18,15 @@ end
|
|
18
18
|
|
19
19
|
class String
|
20
20
|
def blank?
|
21
|
-
|
21
|
+
empty?
|
22
22
|
end
|
23
23
|
|
24
24
|
def present?
|
25
|
-
!
|
25
|
+
! empty?
|
26
|
+
end
|
27
|
+
|
28
|
+
def any?
|
29
|
+
! empty?
|
26
30
|
end
|
27
31
|
|
28
32
|
def unindent
|
@@ -7,23 +7,23 @@ class Cursor
|
|
7
7
|
> Summary
|
8
8
|
| Api for changing the cursor
|
9
9
|
|
|
10
|
-
-
|
10
|
+
- colors/
|
11
11
|
@Cursor.white
|
12
12
|
@Cursor.red
|
13
13
|
@Cursor.green
|
14
14
|
@Cursor.blue
|
15
15
|
@Cursor.color "#80f"
|
16
|
-
-
|
16
|
+
- shapes/
|
17
17
|
@Cursor.bar
|
18
18
|
@Cursor.underscore
|
19
19
|
@Cursor.hollow
|
20
20
|
@Cursor.box
|
21
|
-
-
|
21
|
+
- colors and shapes/
|
22
22
|
@Cursor.red_bar
|
23
23
|
@Cursor.green_underscore
|
24
24
|
@Cursor.blue_hollow
|
25
25
|
@Cursor.black_box
|
26
|
-
-
|
26
|
+
- remembering and restoring cursor/
|
27
27
|
@Cursor.remember :a
|
28
28
|
@Cursor.restore :a
|
29
29
|
`
|
@@ -103,7 +103,6 @@ class Cursor
|
|
103
103
|
before = @@remember[symbol]
|
104
104
|
return Cursor.black_box unless before # Black if not found
|
105
105
|
type, color = before
|
106
|
-
$el.set_face_background :cursor, color
|
107
106
|
$el.customize_set_variable :cursor_type, type
|
108
107
|
end
|
109
108
|
|
File without changes
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'hide'
|
1
|
+
require 'xiki/hide'
|
2
2
|
|
3
3
|
# Will store a diff each time a file is saved.
|
4
4
|
class DiffLog
|
@@ -41,7 +41,7 @@ class DiffLog
|
|
41
41
|
|
42
42
|
def self.diffs path=nil
|
43
43
|
|
44
|
-
txt = File.
|
44
|
+
txt = File.open(@@log, 'rb') {|f| f.read}
|
45
45
|
txt = txt.sub(/\A- /, '').split(/^- /).reverse.uniq
|
46
46
|
|
47
47
|
path ||= Tree.dir # Pull from tree if there
|
@@ -201,8 +201,8 @@ class DiffLog
|
|
201
201
|
diff = Console.sync "diff -U 0 \"#{patha}\" \"#{@@temp_path}\""
|
202
202
|
return if diff.empty? || diff =~ /: No such file or directory\n/ # Fail quietly if file didn't exist
|
203
203
|
|
204
|
-
diff = self.format
|
205
|
-
return diff if options[:dont_log]
|
204
|
+
diff = self.format(diff) rescue nil
|
205
|
+
return diff if diff.nil? || options[:dont_log]
|
206
206
|
|
207
207
|
File.open(@@log, "a") { |f| f << diff } unless diff.count("\n") <= 2
|
208
208
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'styles'
|
1
|
+
require 'xiki/styles'
|
2
2
|
|
3
3
|
# Makes visual things happen
|
4
4
|
class Effects
|
@@ -43,6 +43,9 @@ class Effects
|
|
43
43
|
"
|
44
44
|
end
|
45
45
|
|
46
|
+
#
|
47
|
+
# Effects.glow :color=>:forest
|
48
|
+
#
|
46
49
|
def self.glow options={}
|
47
50
|
|
48
51
|
what = options[:what]
|
@@ -91,7 +94,7 @@ class Effects
|
|
91
94
|
|
92
95
|
sequence.each do |i|
|
93
96
|
$el.overlay_put over, :face, (faces[i-1] || faces[0])
|
94
|
-
$el.sit_for 0.
|
97
|
+
$el.sit_for 0.0005
|
95
98
|
end
|
96
99
|
|
97
100
|
$el.delete_overlay over
|
File without changes
|
@@ -1,9 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require '
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
require 'xiki/styles'
|
4
|
+
require 'xiki/line'
|
5
|
+
require 'xiki/view'
|
4
6
|
require 'net/http'
|
5
7
|
require 'uri'
|
6
|
-
require 'cursor'
|
8
|
+
require 'xiki/cursor'
|
7
9
|
|
8
10
|
# Draws a tree from a dir structure and lets you incrementally search in the tree.
|
9
11
|
# Usage (user):
|
@@ -164,8 +166,12 @@ class FileTree
|
|
164
166
|
|
165
167
|
def self.grep_one_file(f, regex, indent)
|
166
168
|
result = []
|
167
|
-
|
168
|
-
|
169
|
+
|
170
|
+
return result if f =~ /\.(ai|icns|png|gif|jpg|gem)$/
|
171
|
+
|
172
|
+
IO.foreach(f, *Files.encoding_binary) do |line|
|
173
|
+
# line.gsub!(/[\r\n\c@]+/, '')
|
174
|
+
line.chomp!
|
169
175
|
if regex
|
170
176
|
next unless line =~ regex
|
171
177
|
end
|
@@ -178,7 +184,7 @@ class FileTree
|
|
178
184
|
result = []
|
179
185
|
current_line = Search.outline_goto_once # If search_outline, we want to put cursor on that line when done
|
180
186
|
line_found, matches_count, i = nil, 0, 0
|
181
|
-
IO.foreach(f) do |line|
|
187
|
+
IO.foreach(f, *Files.encoding_binary) do |line|
|
182
188
|
i+=1
|
183
189
|
line.gsub!(/[\r\n\c@]+/, '')
|
184
190
|
|
@@ -267,7 +273,7 @@ class FileTree
|
|
267
273
|
|
268
274
|
return if ! $el
|
269
275
|
|
270
|
-
if Styles.
|
276
|
+
if Styles.dark_bg? # Bullets
|
271
277
|
Styles.define :ls_bullet,
|
272
278
|
:face => 'courier', :size => "+2", # Mac
|
273
279
|
:fg => "dd7700", :bold => true
|
@@ -278,9 +284,9 @@ class FileTree
|
|
278
284
|
end
|
279
285
|
|
280
286
|
|
281
|
-
if Styles.
|
282
|
-
Styles.define :quote_heading, :fg=>"fff", :size=>"0", :face=>"arial", :bold=>
|
283
|
-
Styles.define :quote_heading2, :fg=>"fff", :size=>"-2", :face=>"arial", :bold=>
|
287
|
+
if Styles.dark_bg?
|
288
|
+
Styles.define :quote_heading, :fg=>"fff", :size=>"0", :face=>"arial", :bold=>true
|
289
|
+
Styles.define :quote_heading2, :fg=>"fff", :size=>"-2", :face=>"arial", :bold=>true
|
284
290
|
Styles.define :quote_heading_pipe, :fg=>"333", :size=>"0", :face => "verdana", :bold=>true
|
285
291
|
Styles.define :quote_heading_bracket, :fg=>"4c4c4c", :size=>"-2", :face => "Monaco", :bold=>true
|
286
292
|
Styles.define :quote_heading_small, :fg=>"fff", :size=>"-2", :face => "arial black", :bold=>true
|
@@ -297,8 +303,8 @@ class FileTree
|
|
297
303
|
# Styles.define :ls_dir, :fg => "bbb", :face => "verdana", :size => "-2", :bold => true
|
298
304
|
|
299
305
|
else
|
300
|
-
Styles.define :quote_heading, :fg=>"444", :size=>"0", :face=>"arial", :bold=>
|
301
|
-
Styles.define :quote_heading2, :fg=>"aaa", :size=>"-2", :face=>"arial", :bold=>
|
306
|
+
Styles.define :quote_heading, :fg=>"444", :size=>"0", :face=>"arial", :bold=>true
|
307
|
+
Styles.define :quote_heading2, :fg=>"aaa", :size=>"-2", :face=>"arial", :bold=>true
|
302
308
|
Styles.define :quote_heading_pipe, :fg=>"bbb", :size=>"0", :face => "verdana", :bold=>true
|
303
309
|
Styles.define :quote_heading_bracket, :fg=>"bbb", :size=>"-2", :face => "Monaco", :bold=>true
|
304
310
|
Styles.define :quote_heading_small, :fg=>"fff", :size=>"-2", :face => "arial black", :bold=>true
|
@@ -322,7 +328,7 @@ class FileTree
|
|
322
328
|
:size => "-2",
|
323
329
|
:bold => true
|
324
330
|
|
325
|
-
if Styles.
|
331
|
+
if Styles.dark_bg? # | Quoted text
|
326
332
|
Styles.define :ls_quote,
|
327
333
|
:size => "-1",
|
328
334
|
:fg => "aaa"
|
@@ -425,12 +431,14 @@ class FileTree
|
|
425
431
|
end
|
426
432
|
|
427
433
|
def self.handles? list=nil
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
return nil
|
434
|
+
|
435
|
+
if list.nil?
|
436
|
+
list ||= Tree.construct_path(:list=>true) rescue nil # Use current line by default
|
432
437
|
end
|
433
|
-
|
438
|
+
|
439
|
+
list = list.first if list.is_a?(Array)
|
440
|
+
|
441
|
+
return 0 if self.matches_root_pattern?(Line.without_label :line=>list)
|
434
442
|
nil
|
435
443
|
end
|
436
444
|
|
@@ -1103,7 +1111,7 @@ class FileTree
|
|
1103
1111
|
if Line.blank?
|
1104
1112
|
|
1105
1113
|
if prefix == :u || txt =~ /\A +[-+]?\|[-+ ]/ # If C-u or whole thing is quoted already, unquote
|
1106
|
-
txt = txt.grep(/\|/).join()
|
1114
|
+
txt = txt.split("\n").grep(/\|/).join("\n")
|
1107
1115
|
return $el.insert(txt.gsub(/^ *[-+]?\|([-+ ]|$)/, "")) # Remove | ..., |+...., |<blank>, etc
|
1108
1116
|
end
|
1109
1117
|
|
@@ -1276,7 +1284,7 @@ class FileTree
|
|
1276
1284
|
return
|
1277
1285
|
end
|
1278
1286
|
|
1279
|
-
IO.foreach(path) do |line|
|
1287
|
+
IO.foreach(path, *Files.encoding_binary) do |line|
|
1280
1288
|
i+=1
|
1281
1289
|
line.sub!(/[\r\n]+$/, '')
|
1282
1290
|
|
@@ -1479,9 +1487,8 @@ class FileTree
|
|
1479
1487
|
|
1480
1488
|
def self.copy_path options={}
|
1481
1489
|
Effects.blink :what=>:line
|
1482
|
-
|
1483
1490
|
# Return dir of view's file if at left margin, U, or not ^[|@-]
|
1484
|
-
if Line !~ /^ +[|@+-]/ || Keys.prefix_u
|
1491
|
+
if Line !~ /^ +[|@+-]/ # || Keys.prefix_u# It will never be :u, because the prefix is cleared before this is called
|
1485
1492
|
path = View.file
|
1486
1493
|
else
|
1487
1494
|
path = Xiki.trunk.last # Grab from wiki tree
|
@@ -1634,6 +1641,9 @@ class FileTree
|
|
1634
1641
|
Effects.glow :fade_out=>1
|
1635
1642
|
Line.delete
|
1636
1643
|
Line.to_beginning
|
1644
|
+
|
1645
|
+
View.message "File deleted"
|
1646
|
+
|
1637
1647
|
end
|
1638
1648
|
|
1639
1649
|
def self.move_latest_screenshot_to dest_path, dest_dir
|
@@ -1854,7 +1864,7 @@ class FileTree
|
|
1854
1864
|
when 0
|
1855
1865
|
# Just show path if 0+...
|
1856
1866
|
when :- # Just show # foo... comments...
|
1857
|
-
self.enter_lines(/(^ *def |(^| )
|
1867
|
+
self.enter_lines(/(^ *def |(^| )(#|"|\/\/) .+\.\.\.$)/, :current_line=>current_line)
|
1858
1868
|
when 6 # Just show # foo... comments...
|
1859
1869
|
self.enter_lines(/(^ *def |self\.)/, :current_line=>current_line)
|
1860
1870
|
when :u
|