vice-editor 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +1 -0
- data/lib/vice.rb +13 -2
- data/lib/vice/blitter.rb +2 -2
- data/lib/vice/buffer.rb +2 -0
- data/lib/vice/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3a01cf6608709e265aeefad50270a35cc1f7e5f93f6209b3f399b038a5318cee
|
4
|
+
data.tar.gz: '019a54fdd8e60fc7a98281a3e220f4bfae91c9d355f9374a6e58a654b3e541ad'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 875f6c935d98ac66be3716c388f39abf4bcd024ca4ee68e3757369b87eb71af93737fccad88da8088194a3992a09675d3d0830beede220b74d89ff71ad34331d
|
7
|
+
data.tar.gz: 2407fbcaf06a7434e4556185aaeb58dddc0f7f740408296d8f33294435eb930d8d92355d0d550c06b25f6813957e386155f84a6ccb9ea5b3b25954cbf4a24ca2
|
data/README.md
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# vice
|
2
2
|
[![Build Status](https://travis-ci.org/knarka/vice.svg?branch=master)](https://travis-ci.org/knarka/vice)
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/vice-editor.svg)](https://badge.fury.io/rb/vice-editor)
|
3
4
|
|
4
5
|
vice (**vi**sual **c**ode **e**ditor) is a small vi-like editor. It is currently still a work in progress.
|
5
6
|
|
data/lib/vice.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
require 'curses'
|
2
|
+
require 'yaml'
|
2
3
|
|
3
4
|
module Vice
|
4
|
-
TAB_WIDTH = 4
|
5
|
-
|
6
5
|
class Vice
|
7
6
|
attr_accessor :buffers
|
8
7
|
attr_accessor :current_buffer
|
@@ -11,8 +10,11 @@ module Vice
|
|
11
10
|
attr_accessor :prompt
|
12
11
|
|
13
12
|
attr_reader :msg
|
13
|
+
attr_reader :config
|
14
14
|
|
15
15
|
def initialize(filenames)
|
16
|
+
init_config
|
17
|
+
|
16
18
|
@mode = :command
|
17
19
|
@buffers = []
|
18
20
|
@parser = Parser.new
|
@@ -29,6 +31,15 @@ module Vice
|
|
29
31
|
end
|
30
32
|
end
|
31
33
|
|
34
|
+
def init_config
|
35
|
+
defaults = { 'tab_width' => 4 } # defaults
|
36
|
+
|
37
|
+
configfile = "#{Dir.home}/.vicerc"
|
38
|
+
user_defined = File.open(configfile) { |f| YAML.safe_load(f.read) } if File.file? configfile
|
39
|
+
|
40
|
+
@config = user_defined.nil? ? defaults : defaults.merge(user_defined)
|
41
|
+
end
|
42
|
+
|
32
43
|
def start
|
33
44
|
Curses.init_screen
|
34
45
|
Curses.noecho
|
data/lib/vice/blitter.rb
CHANGED
@@ -82,7 +82,7 @@ class Vice::Blitter
|
|
82
82
|
|
83
83
|
(0..buffer.cursor.col - 1).each do |i|
|
84
84
|
visual_cursor.col += if buffer.currentline[i] == "\t"
|
85
|
-
|
85
|
+
vice.config['tab_width']
|
86
86
|
else
|
87
87
|
1
|
88
88
|
end
|
@@ -112,7 +112,7 @@ class Vice::Blitter
|
|
112
112
|
i = r - 1 + buffer.v_scroll
|
113
113
|
window.setpos r, 0
|
114
114
|
if i < buffer.lines
|
115
|
-
line = pad buffer.getline(i).gsub(/(\t)/, ' ' *
|
115
|
+
line = pad buffer.getline(i).gsub(/(\t)/, ' ' * vice.config['tab_width'])
|
116
116
|
window.addstr formatnumber(i + 1) + line
|
117
117
|
else
|
118
118
|
window.addstr pad(formatnumber('~'))
|
data/lib/vice/buffer.rb
CHANGED
data/lib/vice/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vice-editor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- knarka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curses
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.2.4
|
27
27
|
description:
|
28
|
-
email: knarka@
|
28
|
+
email: knarka@airmail.cc
|
29
29
|
executables:
|
30
30
|
- vice
|
31
31
|
extensions: []
|
@@ -67,7 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
67
67
|
version: '0'
|
68
68
|
requirements: []
|
69
69
|
rubyforge_project:
|
70
|
-
rubygems_version: 2.
|
70
|
+
rubygems_version: 2.7.7
|
71
71
|
signing_key:
|
72
72
|
specification_version: 4
|
73
73
|
summary: vi-like text editor
|