vice-editor 0.0.2 → 0.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 0bb89d6e7956d80e80981c2a479db06f915b56c6
4
- data.tar.gz: 1476282093286f0e20b9b425bc8c97e9c0618a3b
2
+ SHA256:
3
+ metadata.gz: 3a01cf6608709e265aeefad50270a35cc1f7e5f93f6209b3f399b038a5318cee
4
+ data.tar.gz: '019a54fdd8e60fc7a98281a3e220f4bfae91c9d355f9374a6e58a654b3e541ad'
5
5
  SHA512:
6
- metadata.gz: c1f91734285daff5896c7a65c9a44d6cfa709a5a2cac02c577da49f8f2ba9124f10d7cb2f8fc9b854116107949e3a37065c7e2c65ea06524375d014c84e2de01
7
- data.tar.gz: a9856fd8bbc374f6fb506e33f953572651c457a5feb1bba81e71ab94177d3374dcdbc5214b9388193c9b7b98b0ac156f8fbd72e706ba475aad754e8aa341a26d
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
 
@@ -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
@@ -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
- Vice::TAB_WIDTH
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)/, ' ' * Vice::TAB_WIDTH)
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('~'))
@@ -27,6 +27,8 @@ class Vice::Buffer
27
27
  File.open(filename, 'w') do |f|
28
28
  f.write @buffer.join "\n"
29
29
  end
30
+
31
+ @filename = filename
30
32
  end
31
33
 
32
34
  def write
@@ -1,3 +1,3 @@
1
1
  module Vice
2
- VERSION = '0.0.2'.freeze
2
+ VERSION = '0.0.3'.freeze
3
3
  end
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.2
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-15 00:00:00.000000000 Z
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@users.noreply.github.com
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.5.2.1
70
+ rubygems_version: 2.7.7
71
71
  signing_key:
72
72
  specification_version: 4
73
73
  summary: vi-like text editor