1
1
do main = -> setImmediate ->
2
2
easypathutil = require ' easypathutil'
3
- { sep , basename , dirname } = require ' path'
3
+ { sep , basename , dirname , relative : rel } = require ' path'
4
4
5
5
replace = (str ) -> str .replace / [|\\ {}()[\] ^$+*?. ] / g , ' \\ $&'
6
6
startsep = new RegExp " ^#{ replace sep} "
@@ -20,15 +20,21 @@ do main = -> setImmediate ->
20
20
.filter ((e , i ) -> ! ignored .some (b) -> e .replace (base[' honorary-one-line-wonders' ](), ' ' ).replace (startsep, ' ' ).startsWith b)
21
21
.length }#{ bgblack} honorary programs in /honorary-one-line-wonders\n Now running checks...#{ r} "
22
22
23
- sorting = (for program in list when folder = dirname program
24
- Object .entries (categories).find (category) ->
25
- if category[1 ].test basename (program).toLowerCase () # .includes category[0]
26
- if not folder .split (sep).some (f) -> category[1 ].test f
27
- console .log program
28
- console .log category
29
- return true ).filter (e) -> e
23
+ sorting = (for [path, program, folder] in list .map (e) -> [e, basename (e), dirname (e)]
24
+ if program[0 ] is ' .'
25
+ ! 1
26
+ else unless program .includes ' _'
27
+ console .log cyan, ' Filename must be of the format username_file_name_here.extension' , r, red, rel (' .' , path), r
28
+ program
29
+ else
30
+ Object .entries (categories).find (category) ->
31
+ if category[1 ].test program .toLowerCase () # .includes category[0]
32
+ if not folder .split (sep).some (f) -> category[1 ].test f
33
+ console .log cyan, ' Expected program to be in a folder:' , r, red, rel (' .' , path), category, r
34
+ return true
35
+ ).filter (e) -> e
30
36
if sorting .length > 0
31
- console .log " #{ bold}#{ bgblack }#{ sorting .length } one-line programs were possibly in the wrong directory. Please check the above output.#{ r} "
37
+ console .log " #{ bold}#{ bgred }#{ sorting .length } one-line programs were possibly misnamed or in the wrong directory. Please check the above output.#{ r} "
32
38
process .exit 1
33
39
else
34
40
console .log " #{ bggreen} Folder checks passed!#{ r} "
@@ -39,6 +45,8 @@ bgblue = '\x1b[44m'
39
45
bgblack = ' \x1b [40m'
40
46
bgred = ' \x1b [41m'
41
47
bggreen = ' \x1b [42m'
48
+ cyan = ' \x1b [36m'
49
+ red = ' \x1b [31m'
42
50
43
51
categories =
44
52
hello : / ^ hello([-_] ? world)? $ / i
@@ -52,3 +60,4 @@ categories =
52
60
e : / approx(imate[_-] ? )? e/ i
53
61
golden_ratio : / (approx(imate[_-] ? )? )? (golden_ratio| phi)/ i
54
62
valley : / valley/ i
63
+ unique_elems : / unique/ i
0 commit comments