vimamsa 0.1.1 → 0.1.6

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.
@@ -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
-