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