123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /*
- * ECAL
- *
- * Copyright 2020 Matthias Ladkau. All rights reserved.
- *
- * This Source Code Form is subject to the terms of the MIT
- * License, If a copy of the MIT License was not distributed with this
- * file, You can obtain one at https://opensource.org/licenses/MIT.
- */
- package tool
- import (
- "fmt"
- "regexp"
- "strings"
- "devt.de/krotik/common/stringutil"
- "devt.de/krotik/common/termutil"
- )
- /*
- matchesFulltextSearch checks if a given text matches a given glob expression. Returns
- true if an error occurs.
- */
- func matchesFulltextSearch(clt termutil.ConsoleLineTerminal, text string, glob string) bool {
- var res bool
- re, err := stringutil.GlobToRegex(glob)
- if err == nil {
- res, err = regexp.MatchString(re, text)
- }
- if err != nil {
- clt.WriteString(fmt.Sprintln("Invalid search expression:", err.Error()))
- res = true
- }
- return res
- }
- /*
- fillTableRow fills a table row of a display table.
- */
- func fillTableRow(tabData []string, key string, value string) []string {
- tabData = append(tabData, key)
- valSplit := stringutil.ChunkSplit(value, 80, true)
- tabData = append(tabData, strings.TrimSpace(valSplit[0]))
- for _, valPart := range valSplit[1:] {
- tabData = append(tabData, "")
- tabData = append(tabData, strings.TrimSpace(valPart))
- }
- // Insert empty rows to ease reading
- tabData = append(tabData, "")
- tabData = append(tabData, "")
- return tabData
- }
|