summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/utils/commandUtils.ts
blob: 4f731bb3eb2098fdec62683fda11ffee2000c74a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
 * @license
 * Copyright 2025 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 */

/**
 * Checks if a query string potentially represents an '@' command.
 * It triggers if the query starts with '@' or contains '@' preceded by whitespace
 * and followed by a non-whitespace character.
 *
 * @param query The input query string.
 * @returns True if the query looks like an '@' command, false otherwise.
 */
export const isPotentiallyAtCommand = (query: string): boolean =>
  // Check if starts with @ OR has a space, then @, then a non-space character.
  query.startsWith('@') || /\s@\S/.test(query);

/**
 * Checks if a query string represents a slash command (starts with '/').
 *
 * @param query The input query string.
 * @returns True if the query is a slash command, false otherwise.
 */
export const isSlashCommand = (query: string): boolean =>
  query.trim().startsWith('/');