MCPcopy Create free account
hub / github.com/diillson/chatcli / getContextNameSuggestions

Method getContextNameSuggestions

cli/cli_completer.go:810–864  ·  view source on GitHub ↗

getContextNameSuggestions - Sugestões de nomes de contextos existentes com descrições ricas

()

Source from the content-addressed store, hash-verified

808
809// getContextNameSuggestions - Sugestões de nomes de contextos existentes com descrições ricas
810func (cli *ChatCLI) getContextNameSuggestions() []prompt.Suggest {
811 contexts, err := cli.contextHandler.GetManager().ListContexts(nil)
812 if err != nil {
813 return nil
814 }
815
816 suggestions := make([]prompt.Suggest, 0, len(contexts))
817 for _, ctx := range contexts {
818 // Criar descrição rica com informações úteis
819 var descParts []string
820
821 // Adicionar modo
822 descParts = append(descParts, i18n.T("complete.context.name_mode_fmt", ctx.Mode))
823
824 // Adicionar contagem de arquivos ou chunks
825 if ctx.IsChunked {
826 descParts = append(descParts, i18n.T("complete.context.name_chunks_fmt", len(ctx.Chunks)))
827 } else {
828 descParts = append(descParts, i18n.T("complete.context.name_files_fmt", ctx.FileCount))
829 }
830
831 // Adicionar tamanho
832 sizeMB := float64(ctx.TotalSize) / 1024 / 1024
833 if sizeMB < 1 {
834 descParts = append(descParts, fmt.Sprintf("%.0f KB", float64(ctx.TotalSize)/1024))
835 } else {
836 descParts = append(descParts, fmt.Sprintf("%.1f MB", sizeMB))
837 }
838
839 // Adicionar tags se houver
840 if len(ctx.Tags) > 0 {
841 descParts = append(descParts, i18n.T("complete.context.name_tags_fmt", strings.Join(ctx.Tags, ",")))
842 }
843
844 desc := strings.Join(descParts, " | ")
845 if ctx.Description != "" {
846 desc = ctx.Description + " — " + desc
847 }
848
849 // ═══════════════════════════════════════════════════════════════
850 // Adicionar indicador visual para contextos chunked
851 // ═══════════════════════════════════════════════════════════════
852 icon := "📄"
853 if ctx.IsChunked {
854 icon = "🧩"
855 }
856
857 suggestions = append(suggestions, prompt.Suggest{
858 Text: ctx.Name,
859 Description: fmt.Sprintf("%s %s", icon, desc),
860 })
861 }
862
863 return suggestions
864}
865
866// getSessionSuggestions - Sugestões para /session
867func (cli *ChatCLI) getSessionSuggestions(d prompt.Document) []prompt.Suggest {

Calls 3

TFunction · 0.92
ListContextsMethod · 0.80
GetManagerMethod · 0.45