feat: allow control over displaying hidden/dotfiles and .gitignore matches (#179)

* feat: add chat setting to toggle hidden files (dotfiles)

* feat: add toggle to show/hide gitignored files in file browser

* refactor: don't reuse visibility setting for dotfiles toggle

* fix: honor hidden/gitignored toggles across runtimes

---------

Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
This commit is contained in:
syntext
2026-01-20 15:20:17 +02:00
committed by GitHub
co-authored by Bohdan Triapitsyn
parent 6544b12e78
commit 2de0d9d3dd
19 changed files with 639 additions and 157 deletions
+7 -2
View File
@@ -11,13 +11,16 @@ import { sendBridgeMessage, sendBridgeMessageWithOptions } from './bridge';
const normalizePath = (value: string): string => value.replace(/\\/g, '/');
export const createVSCodeFilesAPI = (): FilesAPI => ({
async listDirectory(path: string): Promise<DirectoryListResult> {
async listDirectory(path: string, options?: { respectGitignore?: boolean }): Promise<DirectoryListResult> {
const target = normalizePath(path);
const data = await sendBridgeMessage<{
directory?: string;
path?: string;
entries: Array<{ name: string; path: string; isDirectory: boolean }>;
}>('api:fs:list', { path: target });
}>('api:fs:list', {
path: target,
respectGitignore: options?.respectGitignore,
});
const directory = normalizePath(data?.directory || data?.path || target);
const entries = Array.isArray(data?.entries) ? data.entries : [];
@@ -36,6 +39,8 @@ export const createVSCodeFilesAPI = (): FilesAPI => ({
directory: normalizePath(payload.directory),
query: payload.query,
limit: payload.maxResults,
includeHidden: payload.includeHidden,
respectGitignore: payload.respectGitignore,
});
const files = Array.isArray(data?.files) ? data.files : [];