1
0
Fork 0

Fix CI build?
timw4mail/gilo/pipeline/head There was a failure building this commit Details

This commit is contained in:
Timothy Warren 2021-04-12 12:52:20 -04:00
parent e6513cf3c2
commit fe1c54317e
15 changed files with 45 additions and 44 deletions

View File

@ -4,7 +4,7 @@ import (
"bufio" "bufio"
"log" "log"
"os" "os"
"timshome.page/gilo/gilo" gilo2 "timshome.page/gilo/internal/gilo"
) )
type Document struct { type Document struct {
@ -107,7 +107,7 @@ func (d *Document) InsertRow(at int, s string) {
d.dirty = true d.dirty = true
} }
func (d *Document) InsertNewline(at *gilo.Point) { func (d *Document) InsertNewline(at *gilo2.Point) {
if at.X == 0 { if at.X == 0 {
d.InsertRow(at.Y, "") d.InsertRow(at.Y, "")
} else { } else {
@ -128,7 +128,7 @@ func (d *Document) MergeRows(to int, from int) {
} }
func (d *Document) ToString() string { func (d *Document) ToString() string {
buf := gilo.NewBuffer() buf := gilo2.NewBuffer()
for _, row := range d.rows { for _, row := range d.rows {
buf.Append(row.toString()) buf.Append(row.toString())
@ -142,13 +142,13 @@ func (d *Document) RowCount() int {
return len(d.rows) return len(d.rows)
} }
func (d *Document) InsertChar(at *gilo.Point, ch rune) { func (d *Document) InsertChar(at *gilo2.Point, ch rune) {
d.rows[at.Y].insertRune(ch, at.X) d.rows[at.Y].insertRune(ch, at.X)
d.dirty = true d.dirty = true
} }
func (d *Document) DelChar(at *gilo.Point) { func (d *Document) DelChar(at *gilo2.Point) {
d.rows[at.Y].deleteRune(at.X) d.rows[at.Y].deleteRune(at.X)
d.dirty = true d.dirty = true

View File

@ -3,7 +3,7 @@ package document
import ( import (
"strings" "strings"
"timshome.page/gilo/editor/highlight" "timshome.page/gilo/editor/highlight"
"timshome.page/gilo/gilo" gilo2 "timshome.page/gilo/internal/gilo"
"unicode" "unicode"
) )
@ -33,7 +33,7 @@ func (r *Row) RenderSize() int {
return len(r.render) return len(r.render)
} }
func (r *Row) Render(at *gilo.Point) string { func (r *Row) Render(at *gilo2.Point) string {
return string(r.render[at.X:]) return string(r.render[at.X:])
} }
@ -95,7 +95,7 @@ func (r *Row) deleteRune(at int) {
func (r *Row) update() { func (r *Row) update() {
r.render = r.render[:0] r.render = r.render[:0]
replacement := strings.Repeat(" ", gilo.TabSize) replacement := strings.Repeat(" ", gilo2.TabSize)
str := strings.ReplaceAll(string(r.chars), "\t", replacement) str := strings.ReplaceAll(string(r.chars), "\t", replacement)
for _, ch := range str { for _, ch := range str {
@ -131,7 +131,7 @@ func (r *Row) CursorXToRenderX(cursorX int) (renderX int) {
for i := 0; i < cursorX; i++ { for i := 0; i < cursorX; i++ {
if r.chars[i] == '\t' { if r.chars[i] == '\t' {
renderX += (gilo.TabSize - 1) - (renderX % gilo.TabSize) renderX += (gilo2.TabSize - 1) - (renderX % gilo2.TabSize)
} }
renderX += 1 renderX += 1
@ -146,7 +146,7 @@ func (r *Row) RenderXtoCursorX(renderX int) (cursorX int) {
for cursorX = 0; cursorX < r.Size(); cursorX++ { for cursorX = 0; cursorX < r.Size(); cursorX++ {
if r.chars[cursorX] == '\t' { if r.chars[cursorX] == '\t' {
currentRenderX += (gilo.TabSize - 1) - (currentRenderX % gilo.TabSize) currentRenderX += (gilo2.TabSize - 1) - (currentRenderX % gilo2.TabSize)
} else { } else {
currentRenderX += 1 currentRenderX += 1
} }

View File

@ -6,7 +6,7 @@ import (
"strings" "strings"
"time" "time"
"timshome.page/gilo/editor/highlight" "timshome.page/gilo/editor/highlight"
"timshome.page/gilo/gilo" gilo2 "timshome.page/gilo/internal/gilo"
"timshome.page/gilo/terminal" "timshome.page/gilo/terminal"
) )
@ -17,7 +17,7 @@ import (
func (e *editor) RefreshScreen() { func (e *editor) RefreshScreen() {
e.scroll() e.scroll()
ab := gilo.NewBuffer() ab := gilo2.NewBuffer()
ab.Append(terminal.HideCursor) ab.Append(terminal.HideCursor)
ab.Append(terminal.ResetCursor) ab.Append(terminal.ResetCursor)
@ -57,7 +57,7 @@ func (e *editor) scroll() {
} }
} }
func (e *editor) drawRows(ab *gilo.Buffer) { func (e *editor) drawRows(ab *gilo2.Buffer) {
for y := 0; y < e.screen.Rows; y++ { for y := 0; y < e.screen.Rows; y++ {
fileRow := y + e.offset.Y fileRow := y + e.offset.Y
@ -81,7 +81,7 @@ func (e *editor) drawRows(ab *gilo.Buffer) {
} }
} }
func (e *editor) drawFileRow(fileRow int, ab *gilo.Buffer) { func (e *editor) drawFileRow(fileRow int, ab *gilo2.Buffer) {
currentColor := terminal.DefaultFGColor currentColor := terminal.DefaultFGColor
row := e.doc.GetRow(fileRow) row := e.doc.GetRow(fileRow)
@ -107,11 +107,11 @@ func (e *editor) drawFileRow(fileRow int, ab *gilo.Buffer) {
ab.Append(terminal.DefaultFGColor) ab.Append(terminal.DefaultFGColor)
} }
func (e *editor) drawPlaceholderRow(y int, ab *gilo.Buffer) { func (e *editor) drawPlaceholderRow(y int, ab *gilo2.Buffer) {
if e.doc.RowCount() == 0 && y == e.screen.Rows/3 { if e.doc.RowCount() == 0 && y == e.screen.Rows/3 {
welcome := fmt.Sprintf("Gilo editor -- version %s", gilo.Version) welcome := fmt.Sprintf("Gilo editor -- version %s", gilo2.Version)
if len(welcome) > e.screen.Cols { if len(welcome) > e.screen.Cols {
welcome = gilo.Truncate(welcome, e.screen.Cols) welcome = gilo2.Truncate(welcome, e.screen.Cols)
} }
padding := (e.screen.Cols - len(welcome)) / 2 padding := (e.screen.Cols - len(welcome)) / 2
@ -131,7 +131,7 @@ func (e *editor) drawPlaceholderRow(y int, ab *gilo.Buffer) {
} }
} }
func (e *editor) drawStatusBar(ab *gilo.Buffer) { func (e *editor) drawStatusBar(ab *gilo2.Buffer) {
cols := e.screen.Cols cols := e.screen.Cols
ab.Append(terminal.InvertColor) ab.Append(terminal.InvertColor)
@ -148,7 +148,7 @@ func (e *editor) drawStatusBar(ab *gilo.Buffer) {
leftStatus := fmt.Sprintf("%.20s - %d lines %s", fileName, e.doc.RowCount(), modified) leftStatus := fmt.Sprintf("%.20s - %d lines %s", fileName, e.doc.RowCount(), modified)
length := len(leftStatus) length := len(leftStatus)
if length > cols { if length > cols {
leftStatus = gilo.Truncate(leftStatus, cols) leftStatus = gilo2.Truncate(leftStatus, cols)
ab.Append(leftStatus) ab.Append(leftStatus)
ab.Append(terminal.ResetColor) ab.Append(terminal.ResetColor)
@ -182,11 +182,11 @@ func (e *editor) drawStatusBar(ab *gilo.Buffer) {
ab.Append(terminal.ResetColor) ab.Append(terminal.ResetColor)
} }
func (e *editor) drawMessageBar(ab *gilo.Buffer) { func (e *editor) drawMessageBar(ab *gilo2.Buffer) {
ab.Append("\r\n") ab.Append("\r\n")
ab.Append(terminal.ClearLine) ab.Append(terminal.ClearLine)
msg := gilo.Truncate(e.status.message, e.screen.Cols) msg := gilo2.Truncate(e.status.message, e.screen.Cols)
if len(msg) > 0 && time.Since(e.status.created).Seconds() < 5.0 { if len(msg) > 0 && time.Since(e.status.created).Seconds() < 5.0 {
ab.Append(msg) ab.Append(msg)
} }

View File

@ -5,7 +5,7 @@ import (
"fmt" "fmt"
"time" "time"
"timshome.page/gilo/editor/document" "timshome.page/gilo/editor/document"
"timshome.page/gilo/gilo" gilo2 "timshome.page/gilo/internal/gilo"
"timshome.page/gilo/key" "timshome.page/gilo/key"
"timshome.page/gilo/terminal" "timshome.page/gilo/terminal"
) )
@ -21,8 +21,8 @@ type statusMsg struct {
type editor struct { type editor struct {
screen *terminal.Screen screen *terminal.Screen
cursor *gilo.Point cursor *gilo2.Point
offset *gilo.Point offset *gilo2.Point
doc *document.Document doc *document.Document
status *statusMsg status *statusMsg
search *search search *search
@ -42,12 +42,12 @@ func NewEditor() *editor {
return &editor{ return &editor{
screen, screen,
gilo.DefaultPoint(), gilo2.DefaultPoint(),
gilo.DefaultPoint(), gilo2.DefaultPoint(),
document.NewDocument(), document.NewDocument(),
status, status,
newSearch(), newSearch(),
gilo.QuitTimes, gilo2.QuitTimes,
0, 0,
} }
} }
@ -87,7 +87,7 @@ func (e *editor) save() {
} }
func (e *editor) prompt(prompt string, callback func(string, string)) string { func (e *editor) prompt(prompt string, callback func(string, string)) string {
buf := gilo.NewBuffer() buf := gilo2.NewBuffer()
// Show the prompt message // Show the prompt message
e.SetStatusMessage(prompt, "") e.SetStatusMessage(prompt, "")

View File

@ -2,7 +2,7 @@ package editor
import ( import (
"timshome.page/gilo/editor/document" "timshome.page/gilo/editor/document"
"timshome.page/gilo/gilo" gilo2 "timshome.page/gilo/internal/gilo"
"timshome.page/gilo/key" "timshome.page/gilo/key"
"timshome.page/gilo/terminal" "timshome.page/gilo/terminal"
) )
@ -74,8 +74,8 @@ func (e *editor) processKeypressChar(ch rune) bool {
// Clear the quit message and restart the // Clear the quit message and restart the
// confirmation count if confirmation is not // confirmation count if confirmation is not
// completed // completed
if e.quitTimes != gilo.QuitTimes { if e.quitTimes != gilo2.QuitTimes {
e.quitTimes = gilo.QuitTimes e.quitTimes = gilo2.QuitTimes
e.SetStatusMessage("") e.SetStatusMessage("")
} }

View File

@ -2,23 +2,23 @@ package editor
import ( import (
"testing" "testing"
"timshome.page/gilo/gilo" gilo2 "timshome.page/gilo/internal/gilo"
"timshome.page/gilo/key" "timshome.page/gilo/key"
) )
type moveCursor struct { type moveCursor struct {
keys []string keys []string
withFile bool withFile bool
cursor *gilo.Point cursor *gilo2.Point
} }
var cursorTests = []moveCursor{ var cursorTests = []moveCursor{
{[]string{string(key.Esc)}, false, gilo.DefaultPoint()}, {[]string{string(key.Esc)}, false, gilo2.DefaultPoint()},
{[]string{keyRight}, true, gilo.NewPoint(1, 0)}, {[]string{keyRight}, true, gilo2.NewPoint(1, 0)},
{[]string{keyDown, keyEnd}, true, gilo.NewPoint(14, 1)}, {[]string{keyDown, keyEnd}, true, gilo2.NewPoint(14, 1)},
{[]string{keyEnd, keyHome}, true, gilo.DefaultPoint()}, {[]string{keyEnd, keyHome}, true, gilo2.DefaultPoint()},
{[]string{keyRight, keyLeft}, true, gilo.DefaultPoint()}, {[]string{keyRight, keyLeft}, true, gilo2.DefaultPoint()},
{[]string{keyDown, keyUp}, true, gilo.DefaultPoint()}, {[]string{keyDown, keyUp}, true, gilo2.DefaultPoint()},
// {[]string{keyPageUp}, true, gilo.DefaultPoint()}, // {[]string{keyPageUp}, true, gilo.DefaultPoint()},
} }

View File

@ -2,13 +2,13 @@ package editor
import ( import (
"timshome.page/gilo/editor/highlight" "timshome.page/gilo/editor/highlight"
"timshome.page/gilo/gilo" gilo2 "timshome.page/gilo/internal/gilo"
"timshome.page/gilo/key" "timshome.page/gilo/key"
) )
type search struct { type search struct {
cursor *gilo.Point cursor *gilo2.Point
offset *gilo.Point offset *gilo2.Point
hlLine int hlLine int
hl []int hl []int
direction int direction int
@ -17,8 +17,8 @@ type search struct {
func newSearch() *search { func newSearch() *search {
return &search{ return &search{
cursor: gilo.DefaultPoint(), cursor: gilo2.DefaultPoint(),
offset: gilo.DefaultPoint(), offset: gilo2.DefaultPoint(),
hlLine: -1, hlLine: -1,
hl: []int{}, hl: []int{},
lastMatch: -1, lastMatch: -1,

View File

@ -2,6 +2,7 @@ package main
import ( import (
"golang.org/x/term" "golang.org/x/term"
"fmt"
"os" "os"
"timshome.page/gilo/editor" "timshome.page/gilo/editor"
"timshome.page/gilo/terminal" "timshome.page/gilo/terminal"