canis 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d4779cdb032e8834979001fd88ebae06c9c1c3db
|
4
|
+
data.tar.gz: 7065221a532c59f322d51c4514ec48193d240988
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8109f9043da601a306f3ebf12b1f5272853a8d6f9295cc649e26129063fdb3358d4619a0d8e255ada027dd0f4c0d10488c314b51cd7e7eec0c8132d0540de05e
|
7
|
+
data.tar.gz: bc1fd4348a75ddd4db70249715582aaa1f1b0d4b9f8b29613dfa45c5efbdd6c72c9a91b583c578dd210e1da196cfd7aa899f5b62b874c8c208c2e7bb45780e6a
|
data/CHANGES
CHANGED
@@ -65,3 +65,7 @@ Built 0.0.2 but i did not release it.
|
|
65
65
|
2014-09-02
|
66
66
|
- for 0.0.7
|
67
67
|
rdialog.rb introduced a syntax error while adding names to windows, had to yank 0.0.6
|
68
|
+
|
69
|
+
2014-09-11
|
70
|
+
- for 0.0.8
|
71
|
+
fix in colorparser.rb : wrong default was picked, now sending in textpads color and attr
|
@@ -5,7 +5,7 @@
|
|
5
5
|
# Author: jkepler http://github.com/mare-imbrium/canis/
|
6
6
|
# Date: 07.11.11 - 12:31
|
7
7
|
# Same as Ruby's License (http://www.ruby-lang.org/LICENSE.txt)
|
8
|
-
# Last update: 2014-09-
|
8
|
+
# Last update: 2014-09-11 19:51
|
9
9
|
# ------------------------------------------------------------ #
|
10
10
|
#
|
11
11
|
|
@@ -320,10 +320,12 @@ module Canis
|
|
320
320
|
# parse array of Strings into array of Chunks (Chunklines)
|
321
321
|
# @param [Array<String>] formatted text to be parsed into chunks
|
322
322
|
# @return [Array<Abstractchunkline>] array of text in our native format (chunklines)
|
323
|
-
|
323
|
+
# 2014-09-11 - 19:48 added colorp and attr so that incorrect default is not picked
|
324
|
+
# object such as textpad can send in default, textdocument not does so.
|
325
|
+
def parse_text formatted_text, colorp=nil, attr=nil
|
324
326
|
l = []
|
325
327
|
formatted_text.each { |e|
|
326
|
-
l << convert_to_chunk(e)
|
328
|
+
l << convert_to_chunk(e, colorp, attr)
|
327
329
|
}
|
328
330
|
return l
|
329
331
|
end
|
@@ -4,7 +4,7 @@
|
|
4
4
|
# Author: jkepler http://github.com/mare-imbrium/canis/
|
5
5
|
# Date: 2011-12-11 - 12:58
|
6
6
|
# License: Same as Ruby's License (http://www.ruby-lang.org/LICENSE.txt)
|
7
|
-
# Last update: 2014-
|
7
|
+
# Last update: 2014-09-11 19:09
|
8
8
|
# ----------------------------------------------------------------------------- #
|
9
9
|
#
|
10
10
|
module Canis
|
@@ -84,6 +84,80 @@ module Canis
|
|
84
84
|
bind_key([?\C-x, ?e], :edit_external)
|
85
85
|
|
86
86
|
end # def
|
87
|
+
# adding here so that textpad can also use. Earlier in textarea only
|
88
|
+
# Test out with textarea too TODO
|
89
|
+
# 2014-09-03 - 12:49
|
90
|
+
def saveas name=nil, config={}
|
91
|
+
unless name
|
92
|
+
name = rb_gets "File to save as: "
|
93
|
+
return if name.nil? || name == ""
|
94
|
+
end
|
95
|
+
overwrite_if_exists = config[:overwrite_if_exists] || false
|
96
|
+
unless overwrite_if_exists
|
97
|
+
exists = File.exists? name
|
98
|
+
if exists # need to prompt
|
99
|
+
return unless rb_confirm("Overwrite existing file? ")
|
100
|
+
end
|
101
|
+
end
|
102
|
+
# if it has been set do not prompt. or ask only if value is :ask
|
103
|
+
# But this should only be if there is someformatting provided, that is there
|
104
|
+
# is a @document
|
105
|
+
l = @list
|
106
|
+
# the check for document is to see if it is some old widget like textarea that is calling this.
|
107
|
+
if @document
|
108
|
+
if config.key? :save_with_formatting
|
109
|
+
save_with_formatting = config[:save_with_formatting]
|
110
|
+
else
|
111
|
+
save_with_formatting = rb_confirm("Save with formatting?")
|
112
|
+
end
|
113
|
+
if save_with_formatting
|
114
|
+
l = @list
|
115
|
+
else
|
116
|
+
l = @document.native_text().map do |w| w.to_s ; end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
#l = getvalue
|
120
|
+
File.open(name, "w"){ |f|
|
121
|
+
l.each { |line| f.puts line }
|
122
|
+
#l.each { |line| f.write line.gsub(/\r/,"\n") }
|
123
|
+
}
|
124
|
+
rb_puts "#{name} written."
|
125
|
+
end
|
126
|
+
# save content of textpad overwriting if name exists
|
127
|
+
def saveas! name=nil, config={}
|
128
|
+
config[:overwrite_if_exists] = true
|
129
|
+
saveas name, config
|
130
|
+
end
|
131
|
+
|
132
|
+
# Edit the content of the textpad using external editor defaulting to EDITOR.
|
133
|
+
# copied from textarea, modified for textpad and document, needs to be tested TODO
|
134
|
+
# This should not be allowed as a default, some objects may not want to allow it.
|
135
|
+
# It should be enabled, or programmer should bind it to a key
|
136
|
+
def edit_external
|
137
|
+
require 'canis/core/include/appmethods'
|
138
|
+
require 'tempfile'
|
139
|
+
f = Tempfile.new("canis")
|
140
|
+
l = self.text
|
141
|
+
l.each { |line| f.puts line }
|
142
|
+
fp = f.path
|
143
|
+
f.flush
|
144
|
+
|
145
|
+
editor = ENV['EDITOR'] || 'vi'
|
146
|
+
vimp = %x[which #{editor}].chomp
|
147
|
+
ret = shell_out "#{vimp} #{fp}"
|
148
|
+
if ret
|
149
|
+
lines = File.open(f,'r').readlines
|
150
|
+
if @document
|
151
|
+
@document.text = lines
|
152
|
+
@document.parse_required
|
153
|
+
self.text(@document)
|
154
|
+
# next line works
|
155
|
+
#self.text(lines, :content_type => :tmux)
|
156
|
+
else
|
157
|
+
set_content(lines)
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
87
161
|
end
|
88
162
|
end
|
89
163
|
include Canis::ListBindings
|
@@ -4,7 +4,7 @@
|
|
4
4
|
# Author: j kepler http://github.com/mare-imbrium/canis/
|
5
5
|
# Date: 2014-06-25 - 12:52
|
6
6
|
# License: MIT
|
7
|
-
# Last update: 2014-
|
7
|
+
# Last update: 2014-09-11 19:48
|
8
8
|
# ----------------------------------------------------------------------------- #
|
9
9
|
# textdocument.rb Copyright (C) 2012-2014 j kepler
|
10
10
|
|
@@ -26,7 +26,7 @@ module Canis
|
|
26
26
|
|
27
27
|
# returns the native or transformed format of original content. +text+ gets transformed into
|
28
28
|
# native text. The renderer knows how to display native_text.
|
29
|
-
#
|
29
|
+
# NOTE: native_text is currently Chunklines - chunks of text with information of color
|
30
30
|
def native_text
|
31
31
|
unless @native_text
|
32
32
|
preprocess_text @text
|
@@ -35,6 +35,7 @@ module Canis
|
|
35
35
|
end
|
36
36
|
# specify a renderer if you do not want the DefaultRenderer to be installed.
|
37
37
|
attr_accessor :renderer
|
38
|
+
# the source object using this document
|
38
39
|
attr_reader :source
|
39
40
|
|
40
41
|
def initialize hash
|
@@ -47,7 +48,7 @@ module Canis
|
|
47
48
|
raise "textdoc recieves nil content_type in constructor" unless @content_type
|
48
49
|
end
|
49
50
|
# declare that transformation of entire content is required. Currently called by fire_dimension_changed event
|
50
|
-
# of textpad.
|
51
|
+
# of textpad. NOTE: not called from event, now called in text()
|
51
52
|
def parse_required
|
52
53
|
@parse_required = true
|
53
54
|
end
|
@@ -97,7 +98,8 @@ module Canis
|
|
97
98
|
create_default_content_type_handler
|
98
99
|
end
|
99
100
|
@parse_required = false
|
100
|
-
|
101
|
+
# 2014-09-11 - 19:47 sending in color from here, otherwise the wrong default is picked. TEST
|
102
|
+
@native_text = @content_type_handler.parse_text formatted_text, @source.color_pair, @source.attr
|
101
103
|
end
|
102
104
|
# returns title of document
|
103
105
|
def title
|
@@ -10,7 +10,7 @@
|
|
10
10
|
# Author: jkepler http://github.com/mare-imbrium/mancurses/
|
11
11
|
# Date: 2011-11-09 - 16:59
|
12
12
|
# License: Same as Ruby's License (http://www.ruby-lang.org/LICENSE.txt)
|
13
|
-
# Last update: 2014-
|
13
|
+
# Last update: 2014-09-03 17:54
|
14
14
|
#
|
15
15
|
# == CHANGES
|
16
16
|
# - changed @content to @list since all multirow widgets use that and so do utils etc
|
@@ -553,6 +553,7 @@ module Canis
|
|
553
553
|
|
554
554
|
@document = val[0]
|
555
555
|
@document.source ||= self
|
556
|
+
@document.parse_required # added 2014-09-03 - 17:54
|
556
557
|
@list = @document.text
|
557
558
|
when Array
|
558
559
|
# This is the complex case which i would like to phase out.
|
@@ -596,6 +597,7 @@ module Canis
|
|
596
597
|
|
597
598
|
@document = val
|
598
599
|
@document.source ||= self
|
600
|
+
@document.parse_required # added 2014-09-03 - 17:54
|
599
601
|
@list = @document.text
|
600
602
|
end
|
601
603
|
@_populate_needed = true
|
@@ -683,6 +685,8 @@ module Canis
|
|
683
685
|
# NOTE there are some cases where document can return a nil since native_text has not been
|
684
686
|
# calculated yet. Happens in back button of help. Earlier preprocess was done from +text+
|
685
687
|
# not it is only done from +repaint+
|
688
|
+
# NOTE: native_text is currently Chunklines - chunks of text with information of color, whereas
|
689
|
+
# list contains whatever the user set, which can include markup for coloring (ansi/tmux).
|
686
690
|
def _getarray
|
687
691
|
if @document.nil?
|
688
692
|
return @list
|
data/lib/canis/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: canis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kepler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|