Use the new string scanner everywhere

This commit is contained in:
Kovid Goyal 2023-03-08 13:31:27 +05:30
parent b8ce441453
commit f42090766a
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
7 changed files with 8 additions and 12 deletions

View File

@ -3,7 +3,6 @@
package cli
import (
"bufio"
"fmt"
"kitty/tools/cli/markup"
"kitty/tools/tty"
@ -38,7 +37,7 @@ func shell_input_parser(data []byte, shell_state map[string]string) ([][]string,
raw := string(data)
new_word := strings.HasSuffix(raw, "\n\n")
raw = strings.TrimRight(raw, "\n \t")
scanner := bufio.NewScanner(strings.NewReader(raw))
scanner := utils.NewLineScanner(raw)
words := make([]string, 0, 32)
for scanner.Scan() {
words = append(words, scanner.Text())

View File

@ -3,7 +3,6 @@
package ask
import (
"bufio"
"fmt"
"io"
"kitty/tools/cli/markup"
@ -323,7 +322,7 @@ func choices(o *Options) (response string, err error) {
return err
}
if message != "" {
scanner := bufio.NewScanner(strings.NewReader(message))
scanner := utils.NewLineScanner(message)
for scanner.Scan() {
msg_lines = draw_long_text(int(sz.WidthCells), scanner.Text(), msg_lines)
}

View File

@ -3,8 +3,6 @@
package completion
import (
"bufio"
"bytes"
"fmt"
"os/exec"
"strings"
@ -71,7 +69,7 @@ func complete_themes(completions *cli.Completions, word string, arg_num int) {
out, err := exec.Command(kitty, "+runpy", "from kittens.themes.collection import *; print_theme_names()").Output()
if err == nil {
mg := completions.AddMatchGroup("Themes")
scanner := bufio.NewScanner(bytes.NewReader(out))
scanner := utils.NewLineScanner(utils.UnsafeBytesToString(out))
for scanner.Scan() {
theme_name := strings.TrimSpace(scanner.Text())
if theme_name != "" && strings.HasPrefix(theme_name, word) {

View File

@ -3,7 +3,6 @@
package hyperlinked_grep
import (
"bufio"
"bytes"
"errors"
"fmt"
@ -42,7 +41,7 @@ func get_options_for_rg() (expecting_args map[string]bool, alias_map map[string]
err = fmt.Errorf("Failed to execute rg: %w", err)
return
}
scanner := bufio.NewScanner(strings.NewReader(utils.UnsafeBytesToString(raw)))
scanner := utils.NewLineScanner(utils.UnsafeBytesToString(raw))
options_started := false
expecting_args = make(map[string]bool, 64)
alias_map = make(map[string]string, 52)

View File

@ -154,7 +154,7 @@ func (self *ConfigParser) ParseFiles(paths ...string) error {
if err != nil {
return err
}
scanner := bufio.NewScanner(bytes.NewReader(raw))
scanner := utils.NewLineScanner(utils.UnsafeBytesToString(raw))
self.seen_includes = make(map[string]bool)
err = self.parse(scanner, path, filepath.Dir(path), 0)
if err != nil {

View File

@ -4,7 +4,6 @@ package themes
import (
"archive/zip"
"bufio"
"encoding/json"
"errors"
"fmt"
@ -241,7 +240,7 @@ func (self *Theme) Settings() (map[string]string, error) {
return nil, err
}
self.settings = make(map[string]string, 64)
scanner := bufio.NewScanner(strings.NewReader(code))
scanner := utils.NewLineScanner(code)
for scanner.Scan() {
line := strings.TrimSpace(scanner.Text())
if line != "" && line[0] != '#' {

View File

@ -98,6 +98,8 @@ func (self *StringScanner) Scan() bool {
return true
}
func (self *StringScanner) Err() error { return nil }
func (self *StringScanner) Text() string {
return self.token
}