added support for TODOs that are inline

This commit is contained in:
specCon18 2025-03-18 17:25:41 -04:00
parent 29b746235c
commit 939a5d8741

View file

@ -4,7 +4,7 @@ Copyright © 2025 Steven Carpenter <steven.carpenter@skdevstudios.com>
*/ */
package cmd package cmd
import ( import ( //TODO: P:5 THIS IS A TEST FOR INLINE
"fmt" "fmt"
"os" "os"
"io/fs" "io/fs"
@ -99,16 +99,20 @@ func extractTask(line string) string {
//TODO: P:0 add support for TODO's not at start of line //TODO: P:0 add support for TODO's not at start of line
//TODO: P:0 add multiline support /* */ //TODO: P:0 add multiline support /* */
// Extract comments from a line // Function to extract comment from a line that might have code before the comment
func extractCommentFromLine(path, p string, ln int, line string) (Comment, error) { func extractCommentFromLine(path, p string, ln int, line string) (Comment, error) {
if strings.HasPrefix(strings.TrimSpace(line), "//TODO:") { // Use a regular expression to look for a TODO comment anywhere in the line
re := regexp.MustCompile(`//TODO:(.*)`)
matches := re.FindStringSubmatch(line)
if len(matches) > 0 {
// Extract priority and task using helper functions // Extract priority and task using helper functions
priority, err := extractPriority(line) priority, err := extractPriority(matches[0])
if err != nil { if err != nil {
return Comment{}, err return Comment{}, err
} }
task := extractTask(line) task := extractTask(matches[0])
// Return the Comment object // Return the Comment object
return Comment{ return Comment{