kill-carriage-return. Close #144

This commit is contained in:
2022-10-08 20:26:44 +00:00
parent 39c760e2bf
commit 042d9fc1b3
6 changed files with 79 additions and 0 deletions

View File

@@ -28,6 +28,7 @@ jobs:
# TODO hollywoo # TODO hollywoo
# TODO hollywoo-flixel # TODO hollywoo-flixel
# TODO iso-rpg-engine # TODO iso-rpg-engine
- KISS_PROJECT=kill-carriage-return
# TODO kiss-express # TODO kiss-express
# TODO kiss-flixel # TODO kiss-flixel
- KISS_PROJECT=kiss-tools - KISS_PROJECT=kiss-tools

View File

@@ -0,0 +1,4 @@
-lib kiss
-cp src
--main kill_carriage_return.Main
--interp

View File

@@ -0,0 +1,17 @@
{
"main": "kill_carriage_return.Main",
"name": "kill-carriage-return",
"description": "Do you hate Windows-style line endings as much as I do?",
"classPath": "src/",
"dependencies": {
"kiss": ""
},
"url": "https://github.com/NQNStudios/kisslang",
"contributors": [
"NQNStudios"
],
"version": "0.0.0",
"releasenote": "",
"tags": [],
"license": "LGPL"
}

View File

@@ -0,0 +1,7 @@
package kill_carriage_return;
class Main {
static function main() {
Main_.main();
}
}

View File

@@ -0,0 +1,46 @@
(function usageError []
(print "Usage: haxelib run kill-carriage-return <kill or stun> <extensions...>")
(Sys.exit 1)
false)
(using haxe.io.Path)
(function run [dir :Array<String> extensions _kill]
(walkDirectory
""
dir
->:Void file
(when (contains extensions (file.extension))
((if _kill kill stun) file))
->:Void dir 0
->:Void dir 0)
(when stunnedFiles
(print "Windows line ending(s) detected in:")
(doFor file stunnedFiles (print file))
(Sys.exit 1)))
(import sys.io.File)
(function kill [file]
(File.saveContent file (.replace (File.getContent file) "\r" "")))
(var stunnedFiles [])
(function stun [file]
(when (contains (File.getContent file) "\r")
(stunnedFiles.push file)))
(ifLet [[::killOrStun ...extensions cwd] (Sys.args)]
{
(run
cwd
(for ext extensions
(if (ext.startsWith ".")
(ext.substr 1)
ext))
(case killOrStun
("kill"
true)
("stun"
false)
(otherwise
(usageError))))
}
(usageError))

View File

@@ -0,0 +1,4 @@
#! /bin/bash
haxelib dev kill-carriage-return ./
(cd ../../ && haxelib run kill-carriage-return stun sh)