Răsfoiți Sursa

Small stuff

Johan Rong 1 lună în urmă
părinte
comite
be86b417ab

+ 13 - 6
Makefile

@@ -1,15 +1,22 @@
+BINARY_NAME=moose
+BUILD_DIR=build
+MODULE_PATH=./cmd/moose/
+
+VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
+LDFLAGS=-s -w -X main.Version=$(VERSION) -buildid=
+
 .PHONY: build release run clean
 
 build:
-	@mkdir -p build
-	go build -o "build/moose-debug" .
+	@mkdir -p $(BUILD_DIR)
+	go build -v -gcflags="all=-N -l" -ldflags="$(LDFLAGS)" -o "$(BUILD_DIR)/$(BINARY_NAME)-debug" $(MODULE_PATH)
 
 release:
-	@mkdir -p build
-	env CGO_ENABLED=0 go build -ldflags="-s -w" -trimpath -o build/moose .
+	@mkdir -p $(BUILD_DIR)
+	CGO_ENABLED=0 go build -trimpath -buildvcs=false -ldflags="$(LDFLAGS)" -o "$(BUILD_DIR)/$(BINARY_NAME)" $(MODULE_PATH)
 
 run:
-	go run .
+	go run $(MODULE_PATH) 
 
 clean:
-	rm -rf build/
+	rm -rf $(BUILD_DIR)

+ 9 - 2
main.go → cmd/moose/main.go

@@ -9,14 +9,18 @@ import (
 	"golang.design/x/clipboard"
 )
 
+var Version = "dev"
+
 func main() {
+	fmt.Println("[moose] version " + Version)
+
 	s, err := tcell.NewScreen()
 	if err != nil {
-		fmt.Printf("moose: error: %v", err)
+		fmt.Printf("[moose-error] %v", err)
 		os.Exit(1)
 	}
 	if err := s.Init(); err != nil {
-		fmt.Printf("moose: error: %v", err)
+		fmt.Printf("[moose-error] %v", err)
 		os.Exit(1)
 	}
 
@@ -59,6 +63,9 @@ func main() {
 		switch ev := ev.(type) {
 		case *tcell.EventResize:
 			s.Sync()
+			s.Clear()
+			m.Render()
+			s.Show()
 		case *tcell.EventPaste:
 			if ev.Start() {
 				isPasting = true

+ 9 - 0
internal/buffer/draw.go

@@ -0,0 +1,9 @@
+package buffer
+
+import (
+	"moose/internal/layout"
+)
+
+func (b *Buffer) Draw(rect layout.Rect) {
+
+}	

+ 1 - 1
internal/editor/action.go

@@ -490,7 +490,7 @@ func DefaultActionManager() ActionManager {
 					} else {
 						m.Mode = ModeNormal
 						m.BM.PaletteBuffer.Clear()
-						m.BM.PaletteBuffer.Insert("moose.error:Unknown palette input \"" + cmd + "\"")
+						m.BM.PaletteBuffer.Insert("moose.error:Unknown palette input \"" + args[0] + "\"")
 					}
 				},
 			},

+ 17 - 0
internal/editor/draw.go

@@ -0,0 +1,17 @@
+package editor
+
+import (
+	"moose/internal/layout"
+)
+
+func (m *Model) DrawLayout(lm *layout.LayoutManager, rect layout.Rect) {
+
+}
+
+func (m *Model) DrawWorkspace(w *layout.Workspace, rect layout.Rect) {
+
+}
+
+func (m *Model) DrawContainer(c *layout.Container[[]int], rect layout.Rect) {
+
+}

+ 1 - 1
internal/editor/model.go

@@ -38,7 +38,7 @@ func NewModel(screen tcell.Screen, style tcell.Style) Model {
 func (m *Model) CurrentActionSet() []Action {
 	switch m.Mode {
 	case ModeNormal:  return m.AM.Normal
-	case ModeWrite:  return m.AM.Insert
+	case ModeWrite:   return m.AM.Insert
 	case ModePalette: return m.AM.Palette
 	}
 

+ 14 - 4
internal/layout/layout.go

@@ -1,7 +1,15 @@
 package layout
 
+type Rect struct {
+	x      int
+	y      int
+	width  int
+	height int
+}
+
 type LayoutManager struct {
 	Workspaces []Workspace
+	ActiveIdx  int
 }
 
 type Workspace struct {
@@ -19,8 +27,9 @@ type ContainerNode interface {
 }
 
 type Container[T ContainerNode] struct {
-	Children [2]any
-	Split  SplitType
+	Children 	 [2]any
+	Split  		 SplitType
+	ActiveBuffer *int
 }
 
 func NewLayoutManager() LayoutManager {
@@ -37,7 +46,8 @@ func NewWorkspace() Workspace {
 
 func NewContainerEmpty() Container[[]int] {
 	return Container[[]int]{
-		Children: [2]any{},
-		Split:	  SplitHorizontal,
+		Children: 	  [2]any{},
+		Split:	  	  SplitHorizontal,
+		ActiveBuffer: nil,
 	}
 }