From 74113ccdc07e0544452d7f45db073af29d075d6f Mon Sep 17 00:00:00 2001 From: ruinivist Date: Wed, 31 Dec 2025 03:12:06 +0000 Subject: [PATCH] refactor fstree to separate package --- fs.go => fstree/fs.go | 2 +- fs_test.go => fstree/fs_test.go | 2 +- fstree.go => fstree/fstree.go | 5 +++-- fstree_test.go => fstree/fstree_test.go | 2 +- main.go | 8 +++++--- utils.go => utils/utils.go | 2 +- 6 files changed, 12 insertions(+), 9 deletions(-) rename fs.go => fstree/fs.go (99%) rename fs_test.go => fstree/fs_test.go (99%) rename fstree.go => fstree/fstree.go (96%) rename fstree_test.go => fstree/fstree_test.go (99%) rename utils.go => utils/utils.go (94%) diff --git a/fs.go b/fstree/fs.go similarity index 99% rename from fs.go rename to fstree/fs.go index a7190b4..2076a52 100644 --- a/fs.go +++ b/fstree/fs.go @@ -6,7 +6,7 @@ fileopen - ruinivist, 30Dec25 */ -package main +package fstree import ( "errors" diff --git a/fs_test.go b/fstree/fs_test.go similarity index 99% rename from fs_test.go rename to fstree/fs_test.go index 9c3a7c3..66cda77 100644 --- a/fs_test.go +++ b/fstree/fs_test.go @@ -3,7 +3,7 @@ another test that is entirely ae ayee generated - ruinivist, 30Dec25 */ -package main +package fstree import ( "os" diff --git a/fstree.go b/fstree/fstree.go similarity index 96% rename from fstree.go rename to fstree/fstree.go index 1e46706..6ba46a1 100644 --- a/fstree.go +++ b/fstree/fstree.go @@ -5,10 +5,11 @@ It is initialised at startup and used for state changes in UI and later persiste - ruinivist, 30Dec25 */ -package main +package fstree import ( "errors" + "mend/utils" "path/filepath" ) @@ -97,7 +98,7 @@ func (t *FsTreeImpl) DeleteNode(node *FsNode) error { return errors.New("node to delete must have a parent") } - parent.children = RemoveFromSlice(parent.children, node) + parent.children = utils.RemoveFromSlice(parent.children, node) return nil } diff --git a/fstree_test.go b/fstree/fstree_test.go similarity index 99% rename from fstree_test.go rename to fstree/fstree_test.go index f840477..7d94460 100644 --- a/fstree_test.go +++ b/fstree/fstree_test.go @@ -5,7 +5,7 @@ few good uses of ae ayee in my opinion - ruinivist, 30Dec25 */ -package main +package fstree import ( "path/filepath" diff --git a/main.go b/main.go index b17a3a6..f585dfd 100644 --- a/main.go +++ b/main.go @@ -6,6 +6,8 @@ import ( "os" "time" + fs "mend/fstree" + "github.com/charmbracelet/bubbles/spinner" tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" @@ -36,7 +38,7 @@ this data in msg when returned to the update func is used to update the model type model struct { width int - tree *FsTreeImpl + tree *fs.FsTreeImpl // spinner needs to be state as I need to update the spinner on // each tick in update func spinner spinner.Model @@ -61,7 +63,7 @@ func createModel() model { // these need to be on the "model" ( duck typing "implements" interface ) type treeLoadedMsg struct { - tree *FsTreeImpl + tree *fs.FsTreeImpl } func loadTreeCmd() tea.Msg { @@ -72,7 +74,7 @@ func loadTreeCmd() tea.Msg { fmt.Println("Error getting cwd:", err) os.Exit(1) } - return treeLoadedMsg{tree: NewFsTree(cwd)} + return treeLoadedMsg{tree: fs.NewFsTree(cwd)} } func (m model) Init() tea.Cmd { diff --git a/utils.go b/utils/utils.go similarity index 94% rename from utils.go rename to utils/utils.go index 01d6b14..e412c99 100644 --- a/utils.go +++ b/utils/utils.go @@ -1,4 +1,4 @@ -package main +package utils // Removes the first occurence from the slice. Worst case O(n) func RemoveFromSlice[T comparable](slice []T, item T) []T {