vimamsa 0.1.1 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,10 +6,6 @@ def execute_search(input_str)
6
6
  return $search.set(input_str, "simple", $buffer)
7
7
  end
8
8
 
9
- def invoke_search()
10
- start_minibuffer_cmd("", "", :execute_search)
11
- end
12
-
13
9
  def invoke_search()
14
10
  nfo = ""
15
11
 
@@ -115,7 +115,7 @@ def gui_replace_callback(vals)
115
115
  search_str = vals["search"]
116
116
  replace_str = vals["replace"]
117
117
  puts "gui_replace_callback: #{search_str} => #{replace_str}"
118
- qt_select_window_close(0)
118
+ gui_select_window_close(0)
119
119
  buf_replace(search_str, replace_str)
120
120
  end
121
121
 
@@ -152,7 +152,6 @@ def buf_replace(search_str, replace_str)
152
152
  else
153
153
  $buffer.set_content(repbuf)
154
154
  $buffer.set_pos(tmppos)
155
- # $do_center = 1 #TODO
156
155
  message("Replacing #{search_str} with #{replace_str}.")
157
156
  end
158
157
  end
data/lib/vimamsa/util.rb CHANGED
@@ -43,7 +43,7 @@ def read_file(text, path)
43
43
 
44
44
  #TODO: Should put these as option:
45
45
  content.gsub!(/\r\n/, "\n")
46
- content.gsub!(/\t/, " ")
46
+ # content.gsub!(/\t/, " ")
47
47
  content.gsub!(/\b/, "")
48
48
 
49
49
  # content = filter_buffer(content)
@@ -1,3 +1,3 @@
1
1
  module Vimamsa
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.6"
3
3
  end
data/vimamsa.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["sami.sieranoja@gmail.com"]
11
11
 
12
12
  spec.summary = %q{Vimamsa}
13
- spec.description = %q{Vimamsa.}
13
+ spec.description = %q{Vi/Vim -inspired experimental GUI-oriented text editor written with Ruby and GTK.}
14
14
  spec.homepage = "https://github.com/SamiSieranoja/vimamsa"
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.require_paths = ["lib","ext"]
22
22
 
23
23
  spec.add_development_dependency "bundler", "~> 1.16"
24
- spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "rake", "~> 13.0"
25
25
 
26
26
  spec.add_runtime_dependency 'rufo', '~> 0.5'
27
27
 
@@ -29,9 +29,11 @@ Gem::Specification.new do |spec|
29
29
  spec.add_runtime_dependency 'ripl-multi_line', '~> 0.3.1'
30
30
  spec.add_runtime_dependency 'gdk3', '~> 3.4'
31
31
  spec.add_runtime_dependency 'gtk3', '~> 3.4'
32
+ spec.add_runtime_dependency 'differ', '~> 0.1'
32
33
  spec.add_runtime_dependency 'gtksourceview3', '~> 3.4'
33
34
  # spec.add_runtime_dependency 'gtksourceview4'
34
35
  spec.add_runtime_dependency 'parallel', '~> 1.14'
36
+ spec.add_runtime_dependency 'listen', '~> 3.4'
35
37
 
36
38
  spec.extensions = ["ext/vmaext/extconf.rb"]
37
39
  spec.licenses = ['GPL-3.0+']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vimamsa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sami Sieranoja
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-14 00:00:00.000000000 Z
11
+ date: 2021-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rufo
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '3.4'
111
+ - !ruby/object:Gem::Dependency
112
+ name: differ
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0.1'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0.1'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: gtksourceview3
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -136,7 +150,22 @@ dependencies:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
152
  version: '1.14'
139
- description: Vimamsa.
153
+ - !ruby/object:Gem::Dependency
154
+ name: listen
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '3.4'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '3.4'
167
+ description: Vi/Vim -inspired experimental GUI-oriented text editor written with Ruby
168
+ and GTK.
140
169
  email:
141
170
  - sami.sieranoja@gmail.com
142
171
  executables:
@@ -146,14 +175,13 @@ extensions:
146
175
  extra_rdoc_files: []
147
176
  files:
148
177
  - ".gitignore"
178
+ - ".vma_project"
149
179
  - Gemfile
150
180
  - README.md
151
181
  - Rakefile
152
182
  - bin/console
153
183
  - bin/setup
154
184
  - exe/vimamsa
155
- - ext/vimamsa/extconf.rb
156
- - ext/vimamsa/vimamsa.c
157
185
  - ext/vmaext/extconf.rb
158
186
  - ext/vmaext/vmaext.c
159
187
  - lang/hyperplaintext.lang
@@ -164,16 +192,22 @@ files:
164
192
  - lib/vimamsa/buffer_list.rb
165
193
  - lib/vimamsa/constants.rb
166
194
  - lib/vimamsa/debug.rb
167
- - lib/vimamsa/default_key_bindings.rb
168
195
  - lib/vimamsa/easy_jump.rb
169
196
  - lib/vimamsa/editor.rb
170
197
  - lib/vimamsa/encrypt.rb
171
198
  - lib/vimamsa/file_finder.rb
172
199
  - lib/vimamsa/file_history.rb
173
200
  - lib/vimamsa/file_manager.rb
201
+ - lib/vimamsa/gui.rb
202
+ - lib/vimamsa/gui_gtk_sourceview.rb
203
+ - lib/vimamsa/gui_menu.rb
204
+ - lib/vimamsa/gui_select_window.rb
205
+ - lib/vimamsa/gui_sourceview.rb
174
206
  - lib/vimamsa/hook.rb
175
207
  - lib/vimamsa/hyper_plain_text.rb
208
+ - lib/vimamsa/key_actions.rb
176
209
  - lib/vimamsa/key_binding_tree.rb
210
+ - lib/vimamsa/key_bindings_vimlike.rb
177
211
  - lib/vimamsa/macro.rb
178
212
  - lib/vimamsa/main.rb
179
213
  - lib/vimamsa/rbvma.rb
@@ -206,8 +240,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
206
240
  - !ruby/object:Gem::Version
207
241
  version: '0'
208
242
  requirements: []
209
- rubyforge_project:
210
- rubygems_version: 2.7.6
243
+ rubygems_version: 3.1.2
211
244
  signing_key:
212
245
  specification_version: 4
213
246
  summary: Vimamsa
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
-
4
- require 'mkmf'
5
-
6
- module_name = "vimamsa"
7
- extension_name = 'vimamsa'
8
-
9
- dir_config(extension_name) # The destination
10
- create_makefile(extension_name) # Create Makefile
11
-
@@ -1,174 +0,0 @@
1
- #include <ruby.h>
2
- // #include <gtk/gtk.h>
3
- #include "ruby/ruby.h"
4
-
5
- #include <stdio.h>
6
- #include <string.h>
7
- #include <stdlib.h>
8
-
9
- #warning "C Preprocessor got here!"
10
-
11
- typedef struct node {
12
- int i;
13
- void * next;
14
- } node;
15
-
16
-
17
- void add_to_list(unsigned char c, int i, struct node ** t) {
18
- struct node * n;
19
- struct node * np;
20
-
21
- n =(struct node*) calloc(1,sizeof(struct node)); //TODO: free
22
- n->i = i;
23
- if(!t[c]) {
24
- t[c] = n;
25
- }
26
- else {
27
- np = t[c];
28
- while (np->next) {
29
- np = np->next;
30
- }
31
- np->next = n;
32
- }
33
- }
34
-
35
- void dump_list(struct node**t) {
36
- for(int i=0;i < 256; i++) {
37
- if(t[i]) {
38
- printf ("\n%c: ", (char) i);
39
- struct node * n = t[i];
40
- do {
41
- printf ("%d ", n->i);
42
- }
43
- while (n = n->next);
44
- }
45
- }
46
- }
47
-
48
- float calc_sub_score(unsigned char* s1, unsigned char* s2, int i1, int i2) {
49
-
50
- int s1_len = strlen(s1);
51
- int s2_len = strlen(s2);
52
- float sub_score = 1;
53
- float score_inc = 1;
54
- float score_inc_multip = 0.63212;
55
- //float score_inc_multip = 0.23212;
56
-
57
-
58
- // From i2 to zero
59
- int i_s1 = i1-1;
60
- //printf("{");
61
- for (int i_s2=i2-1; i_s2 >= 0 && i_s1 >= 0;) {
62
- if(s1[i_s1] == s2[i_s2]) {
63
- //printf("%c",s1[i_s1]);
64
- i_s1--; i_s2--;
65
- sub_score += score_inc;
66
- score_inc = 1;
67
- }
68
- else {i_s2--; score_inc = score_inc*score_inc_multip;}
69
- }
70
-
71
-
72
- // From i2 to end
73
- score_inc = 1;
74
- i_s1 = i1+1;
75
- //printf("%c",s1[i1]);
76
- for (int i_s2=i2+1; i_s2 < s2_len && i_s1 < s1_len;) {
77
- if(s1[i_s1] == s2[i_s2]) {
78
- //printf("%c",s1[i_s1]);
79
- i_s1++; i_s2++;
80
- sub_score += score_inc;
81
- score_inc = 1;
82
- }
83
- else {i_s2++;score_inc = score_inc*score_inc_multip;}
84
- }
85
-
86
-
87
- //printf("}");
88
- return sub_score;
89
-
90
- }
91
-
92
- float srn_dst(char * s1_sgn, char * s2_sgn) {
93
- unsigned char* s1;
94
- unsigned char* s2;
95
- s1 = (unsigned char *) s1_sgn;
96
- s2 = (unsigned char *) s2_sgn;
97
- struct node** t;
98
- int len_s1 = strlen(s1);
99
- int len_s2 = strlen(s2);
100
- t = (struct node**) calloc(256,sizeof(struct node*));
101
- float score=0;
102
- node * nA;
103
- node * nB;
104
- //printf("l1,2: %d %d\n",len_s1,len_s2);
105
-
106
- for(int i_s2=0;i_s2 < strlen(s2); i_s2++) {
107
- add_to_list(s2[i_s2],i_s2,t);
108
- }
109
-
110
- for(int i_s1=0;i_s1 < strlen(s1); i_s1++) {
111
- struct node * n = t[s1[i_s1]];
112
- if (n) {
113
- float max_score = 0;
114
- unsigned char c = s1[i_s1];
115
- do {
116
- float sub_score = calc_sub_score(s1,s2,i_s1,n->i);
117
- if(sub_score > max_score) {max_score = sub_score;}
118
- //printf(" i=%d %c %d [%f] \n",i_s1,c,n->i,sub_score);
119
- } while(n = n->next);
120
- score += max_score;
121
- }
122
- }
123
-
124
- //dump_list(t);
125
- float p =0.01;
126
- score = (1-p)*score/(len_s1*len_s1) +p*score/(len_s1*len_s2);
127
-
128
- // Free memory
129
- for(int i=0;i<256;i++) {
130
- if(t[i]) {
131
- // node * nA = t[i];
132
- // node * nB;
133
- nA = t[i];
134
- do {
135
- nB = nA->next;
136
- free(nA);
137
- nA = nB;
138
- } while (nA);
139
- }
140
- }
141
- free(t);
142
-
143
- return score;
144
- }
145
-
146
- void srn_dst_wrap(void *y) {
147
- void **x = (void **)y;
148
- char *a = (char *)x[0];
149
- char *b = (char *)x[1];
150
- float *d = (float *)x[2];
151
- *d = srn_dst(a, b);
152
- // printf("00000 A:%s B:%s %f\n",a,b,*d);
153
- }
154
-
155
- VALUE _srn_dst(VALUE self, VALUE s1, VALUE s2) {
156
- VALUE ret;
157
- float d;
158
- void **ptr = malloc(sizeof(void *) * 3);
159
- ptr[0] = (void *)StringValueCStr(s1);
160
- ptr[1] = (void *)StringValueCStr(s2);
161
- ptr[2] = (void *)&d;
162
- rb_thread_call_without_gvl(srn_dst_wrap, ptr, NULL, NULL);
163
- // d = srn_dst(StringValueCStr(s1), StringValueCStr(s2));
164
- ret = rb_float_new(d);
165
- free(ptr);
166
- return ret;
167
- }
168
-
169
- void Init_vimamsa(void) {
170
- printf("Init_vimamsa\n");
171
- rb_define_global_function("srn_dst", _srn_dst, 2);
172
- }
173
-
174
-