move qmlfmt to serpeate standalone openprivacy repo

This commit is contained in:
Dan Ballard 2020-05-20 14:48:37 -07:00
parent ba22cf93c7
commit da72629387
2 changed files with 1 additions and 92 deletions

View File

@ -1,91 +0,0 @@
package main
import (
"bufio"
"log"
"os"
"strings"
)
const (
indent = " "
)
func main() {
if len(os.Args) < 2 {
log.Fatal("Required argument(s): filename(s)")
}
for _, filename := range os.Args[1:] {
processFile(filename)
}
}
func processFile(filename string) {
file, err := os.Open(filename)
if err != nil {
log.Fatalf("Could not read file %v: %v\n", filename, err)
}
scanner := bufio.NewScanner(file)
var lines []string
for scanner.Scan() {
lines = append(lines, scanner.Text())
}
file.Close()
file, err = os.Create(filename)
defer file.Close()
if err != nil {
log.Fatalf("Could not write to file %v: %v\n", filename, err)
}
indentCount := 0
inMultiLineComment := false
for ln, line := range lines {
singleCommentPos := strings.Index(line, "//")
multiLineCommentStartPos := strings.Index(line, "/*")
multiLineCommentEndPos := strings.Index(line, "*/")
openPos := strings.Index(line, "{")
closePos := strings.Index(line, "}")
if !inMultiLineComment && closePos > -1 && (openPos == -1 || openPos > closePos) && (singleCommentPos == -1 || closePos < singleCommentPos) &&
(multiLineCommentStartPos == -1 || closePos < multiLineCommentStartPos) &&
(multiLineCommentEndPos == -1 || closePos > multiLineCommentEndPos) {
indentCount--
}
trimedLine := strings.Trim(line, " \t")
if trimedLine == "" {
file.Write([]byte("\n"))
} else {
if indentCount < 0 {
log.Fatalf("indent Count negative in %v at line %v\n", filename, ln)
}
file.Write([]byte(strings.Repeat(indent, indentCount) + trimedLine + "\n"))
}
if !inMultiLineComment && openPos > -1 && (closePos == -1 || openPos > closePos) && (singleCommentPos == -1 || openPos < singleCommentPos) &&
(multiLineCommentStartPos == -1 || openPos < multiLineCommentStartPos) &&
(multiLineCommentEndPos == -1 || openPos > multiLineCommentEndPos) {
indentCount++
}
if multiLineCommentStartPos > -1 {
inMultiLineComment = true
}
if multiLineCommentEndPos > -1 {
inMultiLineComment = false
}
}
}

View File

@ -1,6 +1,6 @@
#!/bin/sh
# go get cwtch.im/ui/cmd/qmlfmt
# go get git.openprivacy.ca/openprivacy/qmlfmt
cd qml
find -iname "*.qml" | xargs qmlfmt