colorls 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/colorls.gemspec +1 -1
- data/lib/colorls/core.rb +14 -24
- data/lib/colorls/git.rb +8 -9
- data/lib/colorls/version.rb +1 -1
- data/lib/yaml/file_aliases.yaml +9 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c4e2dd3d9823e5c27fe6a41124dfc6511320df5
|
4
|
+
data.tar.gz: 6ec38c1e754d1435363e03c4f86a6533e062f408
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74cca11860e9251eb41d953f0d98fb40f7b8e0b9ad189c9b1a4c258a277cc4d9849a5c361b80e36d86255ad72d3f6f6a08aea980a97e5a9997096a7223cbcf1d
|
7
|
+
data.tar.gz: 2c8cd7f0c111826a0a257b2122cdcceda32dc02c7dafcd880fa3f461a92e447368f02815a3c67ec9c9810718fe343e4c31473cd996848c3fa12d01841e6c1cb9
|
data/colorls.gemspec
CHANGED
data/lib/colorls/core.rb
CHANGED
@@ -218,45 +218,35 @@ module ColorLS
|
|
218
218
|
def git_info(path, content)
|
219
219
|
return '' unless @git_status
|
220
220
|
|
221
|
-
|
221
|
+
real_path = File.realdirpath(content.name, path)
|
222
|
+
|
223
|
+
return ' ' unless real_path.start_with? path
|
222
224
|
|
223
|
-
relative_path =
|
224
|
-
relative_path = relative_path==path ? '' : relative_path+'/'
|
225
|
-
content_path = "#{relative_path}#{content}"
|
225
|
+
relative_path = real_path.remove(Regexp.new('^' + Regexp.escape(@git_root_path) + '/?'))
|
226
226
|
|
227
227
|
if content.directory?
|
228
|
-
git_dir_info(
|
228
|
+
git_dir_info(relative_path)
|
229
229
|
else
|
230
|
-
git_file_info(
|
230
|
+
git_file_info(relative_path)
|
231
231
|
end
|
232
232
|
# puts "\n\n"
|
233
233
|
end
|
234
234
|
|
235
235
|
def git_file_info(path)
|
236
236
|
return ' ✓ '.colorize(@colors[:unchanged]) unless @git_status[path]
|
237
|
-
Git.colored_status_symbols(@git_status[path], @colors)
|
238
|
-
end
|
239
|
-
|
240
|
-
Dir.class_eval do
|
241
|
-
def self.deep_entries(path)
|
242
|
-
(Dir.entries(path) - ['.', '..']).map do |entry|
|
243
|
-
if Dir.exist?("#{path}/#{entry}")
|
244
|
-
Dir.deep_entries("#{path}/#{entry}")
|
245
|
-
else
|
246
|
-
entry
|
247
|
-
end
|
248
|
-
end.flatten
|
249
|
-
end
|
237
|
+
Git.colored_status_symbols(@git_status[path].uniq, @colors)
|
250
238
|
end
|
251
239
|
|
252
240
|
def git_dir_info(path)
|
253
|
-
|
254
|
-
|
255
|
-
return
|
241
|
+
direct_status = @git_status.fetch("#{path}/", nil)
|
242
|
+
|
243
|
+
return Git.colored_status_symbols(direct_status.uniq, @colors) unless direct_status.nil?
|
244
|
+
|
245
|
+
modes = @git_status.select { |file, mode| file.start_with?(path) && mode != '!!' }
|
256
246
|
|
257
|
-
modes = (present-ignored).map { |file| @git_status[file] }-[nil]
|
258
247
|
return ' ✓ '.colorize(@colors[:unchanged]) if modes.empty?
|
259
|
-
|
248
|
+
|
249
|
+
Git.colored_status_symbols(modes.values.join.uniq, @colors)
|
260
250
|
end
|
261
251
|
|
262
252
|
def long_info(content)
|
data/lib/colorls/git.rb
CHANGED
@@ -3,9 +3,14 @@ module ColorLS
|
|
3
3
|
def self.status(repo_path)
|
4
4
|
@git_status = {}
|
5
5
|
|
6
|
-
IO.popen(['git', '-C', repo_path, 'status', '--porcelain', '-z', '-
|
7
|
-
output.
|
6
|
+
IO.popen(['git', '-C', repo_path, 'status', '--porcelain', '-z', '-unormal', '--ignored']) do |output|
|
7
|
+
while (status_line = output.gets "\x0")
|
8
|
+
mode, file = status_line.chomp("\x0").split(' ', 2)
|
9
|
+
|
8
10
|
@git_status[file] = mode
|
11
|
+
|
12
|
+
# skip the next \x0 separated original path for renames, issue #185
|
13
|
+
output.gets("\x0") if mode.start_with? 'R'
|
9
14
|
end
|
10
15
|
end
|
11
16
|
warn "git status failed in #{repo_path}" unless $CHILD_STATUS.success?
|
@@ -14,13 +19,7 @@ module ColorLS
|
|
14
19
|
end
|
15
20
|
|
16
21
|
def self.colored_status_symbols(modes, colors)
|
17
|
-
modes =
|
18
|
-
case modes.length
|
19
|
-
when 1 then " #{modes} "
|
20
|
-
when 2 then " #{modes} "
|
21
|
-
when 3 then "#{modes} "
|
22
|
-
when 4 then modes
|
23
|
-
end
|
22
|
+
modes = modes.rjust(3).ljust(4)
|
24
23
|
|
25
24
|
modes
|
26
25
|
.gsub('?', '?'.colorize(colors[:untracked]))
|
data/lib/colorls/version.rb
CHANGED
data/lib/yaml/file_aliases.yaml
CHANGED
@@ -2,8 +2,11 @@ apk: android
|
|
2
2
|
gradle: android
|
3
3
|
ds_store: apple
|
4
4
|
localized: apple
|
5
|
+
flac: audio
|
6
|
+
m4a: audio
|
5
7
|
mp3: audio
|
6
8
|
ogg: audio
|
9
|
+
wav: audio
|
7
10
|
editorconfig: conf
|
8
11
|
scss: css
|
9
12
|
docx: doc
|
@@ -24,7 +27,10 @@ ico: image
|
|
24
27
|
jpeg: image
|
25
28
|
jpg: image
|
26
29
|
png: image
|
30
|
+
pxm: image
|
27
31
|
svg: image
|
32
|
+
tiff: image
|
33
|
+
webp: image
|
28
34
|
jar: java
|
29
35
|
properties: json
|
30
36
|
tsx: jsx
|
@@ -35,6 +41,7 @@ rdoc: md
|
|
35
41
|
readme: md
|
36
42
|
gslides: ppt
|
37
43
|
pptx: ppt
|
44
|
+
ipynb: py
|
38
45
|
pyc: py
|
39
46
|
rdata: r
|
40
47
|
rds: r
|
@@ -62,7 +69,9 @@ zshrc: shell
|
|
62
69
|
stylus: styl
|
63
70
|
cls: tex
|
64
71
|
avi: video
|
72
|
+
flv: video
|
65
73
|
mkv: video
|
74
|
+
mov: video
|
66
75
|
mp4: video
|
67
76
|
ogv: video
|
68
77
|
webm: video
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: colorls
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Athitya Kumar
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: clocale
|