mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-25 09:48:09 +02:00
Use the new string scanner everywhere
This commit is contained in:
@@ -3,7 +3,6 @@
|
|||||||
package cli
|
package cli
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"kitty/tools/cli/markup"
|
"kitty/tools/cli/markup"
|
||||||
"kitty/tools/tty"
|
"kitty/tools/tty"
|
||||||
@@ -38,7 +37,7 @@ func shell_input_parser(data []byte, shell_state map[string]string) ([][]string,
|
|||||||
raw := string(data)
|
raw := string(data)
|
||||||
new_word := strings.HasSuffix(raw, "\n\n")
|
new_word := strings.HasSuffix(raw, "\n\n")
|
||||||
raw = strings.TrimRight(raw, "\n \t")
|
raw = strings.TrimRight(raw, "\n \t")
|
||||||
scanner := bufio.NewScanner(strings.NewReader(raw))
|
scanner := utils.NewLineScanner(raw)
|
||||||
words := make([]string, 0, 32)
|
words := make([]string, 0, 32)
|
||||||
for scanner.Scan() {
|
for scanner.Scan() {
|
||||||
words = append(words, scanner.Text())
|
words = append(words, scanner.Text())
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
package ask
|
package ask
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"kitty/tools/cli/markup"
|
"kitty/tools/cli/markup"
|
||||||
@@ -323,7 +322,7 @@ func choices(o *Options) (response string, err error) {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if message != "" {
|
if message != "" {
|
||||||
scanner := bufio.NewScanner(strings.NewReader(message))
|
scanner := utils.NewLineScanner(message)
|
||||||
for scanner.Scan() {
|
for scanner.Scan() {
|
||||||
msg_lines = draw_long_text(int(sz.WidthCells), scanner.Text(), msg_lines)
|
msg_lines = draw_long_text(int(sz.WidthCells), scanner.Text(), msg_lines)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,8 +3,6 @@
|
|||||||
package completion
|
package completion
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
|
||||||
"bytes"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"strings"
|
"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()
|
out, err := exec.Command(kitty, "+runpy", "from kittens.themes.collection import *; print_theme_names()").Output()
|
||||||
if err == nil {
|
if err == nil {
|
||||||
mg := completions.AddMatchGroup("Themes")
|
mg := completions.AddMatchGroup("Themes")
|
||||||
scanner := bufio.NewScanner(bytes.NewReader(out))
|
scanner := utils.NewLineScanner(utils.UnsafeBytesToString(out))
|
||||||
for scanner.Scan() {
|
for scanner.Scan() {
|
||||||
theme_name := strings.TrimSpace(scanner.Text())
|
theme_name := strings.TrimSpace(scanner.Text())
|
||||||
if theme_name != "" && strings.HasPrefix(theme_name, word) {
|
if theme_name != "" && strings.HasPrefix(theme_name, word) {
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
package hyperlinked_grep
|
package hyperlinked_grep
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
|
||||||
"bytes"
|
"bytes"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"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)
|
err = fmt.Errorf("Failed to execute rg: %w", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
scanner := bufio.NewScanner(strings.NewReader(utils.UnsafeBytesToString(raw)))
|
scanner := utils.NewLineScanner(utils.UnsafeBytesToString(raw))
|
||||||
options_started := false
|
options_started := false
|
||||||
expecting_args = make(map[string]bool, 64)
|
expecting_args = make(map[string]bool, 64)
|
||||||
alias_map = make(map[string]string, 52)
|
alias_map = make(map[string]string, 52)
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ func (self *ConfigParser) ParseFiles(paths ...string) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
scanner := bufio.NewScanner(bytes.NewReader(raw))
|
scanner := utils.NewLineScanner(utils.UnsafeBytesToString(raw))
|
||||||
self.seen_includes = make(map[string]bool)
|
self.seen_includes = make(map[string]bool)
|
||||||
err = self.parse(scanner, path, filepath.Dir(path), 0)
|
err = self.parse(scanner, path, filepath.Dir(path), 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ package themes
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"archive/zip"
|
"archive/zip"
|
||||||
"bufio"
|
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
@@ -241,7 +240,7 @@ func (self *Theme) Settings() (map[string]string, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
self.settings = make(map[string]string, 64)
|
self.settings = make(map[string]string, 64)
|
||||||
scanner := bufio.NewScanner(strings.NewReader(code))
|
scanner := utils.NewLineScanner(code)
|
||||||
for scanner.Scan() {
|
for scanner.Scan() {
|
||||||
line := strings.TrimSpace(scanner.Text())
|
line := strings.TrimSpace(scanner.Text())
|
||||||
if line != "" && line[0] != '#' {
|
if line != "" && line[0] != '#' {
|
||||||
|
|||||||
@@ -98,6 +98,8 @@ func (self *StringScanner) Scan() bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *StringScanner) Err() error { return nil }
|
||||||
|
|
||||||
func (self *StringScanner) Text() string {
|
func (self *StringScanner) Text() string {
|
||||||
return self.token
|
return self.token
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user