add quick edit keybindings for labels, priority, and assignee from ka… #64
No reviewers
Labels
No labels
bug
ci
documentation
duplicate
enhancement
feature
good first issue
help wanted
invalid
performance
priority
P0
priority
P1
priority
P2
question
refactor
size
L
size
M
size
S
size
XL
size
XS
tests
trivial
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
noe.trevino/paso!64
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/kanban-keybindings"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
…nban board
PR Summary (auto-generated)
DRY violation: This entire function duplicates the pattern from
initLabelPickerForForm(lines ~920-946). The only differences are:EditingTaskIDExtract the common logic into a shared helper function that accepts the return mode and whether to set EditingTaskID as parameters.
DRY violation: This function is nearly identical to
initPriorityPickerForForm(lines ~920-946). The only difference is the ReturnMode assignment and setting EditingTaskID. Extract shared initialization logic into a common helper function.DRY violation: This function duplicates
initAssigneePickerForForm(lines 980-1007) almost verbatim. The only differences are ReturnMode and EditingTaskID assignment. The entire cursor positioning logic (lines 1114-1121) is identical. Refactor to eliminate this duplication.@ -537,0 +560,4 @@func (m Model) handleQuickEditAssignee() (tea.Model, tea.Cmd) {if !m.initAssigneePicker(state.NormalMode) {return m, nil}Unnecessary guard pattern: These three handler functions (lines 544-566) have identical structure. This pattern can be flattened with a helper function that takes the picker initialization function and mode as parameters, reducing from 21 lines to ~7 lines.
@ -44,2 +44,4 @@// In view mode: return to NormalModem.UIState.Mode = state.NormalMode// Clear EditingTaskID when returning to boardm.Forms.Form.EditingTaskID = 0DRY violation: This "clear EditingTaskID when returning to board" pattern is repeated identically in 3 places (lines 46-47, 667-669, 762-765, 824-827). Extract into a helper method or consolidate the clearing logic.
Inconsistent error handling: When
getCurrentProject()returns nil at line 1020, the function silently returns false without logging or notifying the user. This is inconsistent with the error handling pattern at lines 1014-1016 where a notification is added. Either add a notification here or document why this case is expected to fail silently.