sort-cli: magic constants
This commit is contained in:
@ -2,6 +2,8 @@ package main
|
||||
|
||||
import "flag"
|
||||
|
||||
const stdin = "-"
|
||||
|
||||
type Config struct {
|
||||
Key int
|
||||
Numeric bool
|
||||
@ -21,6 +23,6 @@ func (c *Config) ParseFlags() {
|
||||
c.Sources = flag.Args()
|
||||
|
||||
if len(c.Sources) == 0 {
|
||||
c.Sources = []string{"-"}
|
||||
c.Sources = []string{stdin}
|
||||
}
|
||||
}
|
||||
|
@ -9,6 +9,9 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
// NL New line constant
|
||||
const NL = "\n"
|
||||
|
||||
type content [][]byte
|
||||
|
||||
func (c *content) Sort(reverse bool) {
|
||||
@ -42,14 +45,14 @@ func (c *content) String() string {
|
||||
for _, line := range lines {
|
||||
n += len(line)
|
||||
}
|
||||
n += len(lines) * len("\n")
|
||||
n += len(lines) * len(NL)
|
||||
|
||||
var sb strings.Builder
|
||||
sb.Grow(n)
|
||||
|
||||
for i, line := range lines {
|
||||
if i > 0 {
|
||||
sb.WriteString("\n")
|
||||
sb.WriteString(NL)
|
||||
}
|
||||
|
||||
for _, rn := range line {
|
||||
|
@ -12,7 +12,7 @@ func open(sources []string) io.Reader {
|
||||
for _, source := range sources {
|
||||
var r io.Reader
|
||||
|
||||
if source == "-" {
|
||||
if source == stdin {
|
||||
r = os.Stdin
|
||||
} else {
|
||||
if _, err := os.Stat(source); err != nil {
|
||||
|
Reference in New Issue
Block a user