From d1e16e16d55eb73a102ac9e5fd67cfaca59f26e0 Mon Sep 17 00:00:00 2001 From: BrewedSys <16honest_belle@icloud.com> Date: Thu, 12 Mar 2026 16:11:40 -0600 Subject: [PATCH] feat: add Kiro IDE to Open in editor picker --- apps/server/src/open.ts | 3 +- apps/web/src/components/Icons.tsx | 36 +++++++++++++++++++ apps/web/src/components/chat/OpenInPicker.tsx | 7 +++- packages/contracts/src/editor.ts | 1 + 4 files changed, 45 insertions(+), 2 deletions(-) diff --git a/apps/server/src/open.ts b/apps/server/src/open.ts index e7238c04b..33f74c7dc 100644 --- a/apps/server/src/open.ts +++ b/apps/server/src/open.ts @@ -41,7 +41,8 @@ const LINE_COLUMN_SUFFIX_PATTERN = /:\d+(?::\d+)?$/; function shouldUseGotoFlag(editorId: EditorId, target: string): boolean { return ( - (editorId === "cursor" || editorId === "vscode") && LINE_COLUMN_SUFFIX_PATTERN.test(target) + (editorId === "cursor" || editorId === "vscode" || editorId === "kiro") && + LINE_COLUMN_SUFFIX_PATTERN.test(target) ); } diff --git a/apps/web/src/components/Icons.tsx b/apps/web/src/components/Icons.tsx index 4e1a586d6..0afc2b7d1 100644 --- a/apps/web/src/components/Icons.tsx +++ b/apps/web/src/components/Icons.tsx @@ -137,6 +137,42 @@ export const Zed: Icon = (props) => { ); }; +export const KiroIcon: Icon = (props) => { + const id = useId(); + const maskId = `${id}-kiro-mask`; + + return ( + + + + + + + + + + + + ); +}; + export const OpenAI: Icon = (props) => ( diff --git a/apps/web/src/components/chat/OpenInPicker.tsx b/apps/web/src/components/chat/OpenInPicker.tsx index 2e09da03c..baec14e66 100644 --- a/apps/web/src/components/chat/OpenInPicker.tsx +++ b/apps/web/src/components/chat/OpenInPicker.tsx @@ -6,7 +6,7 @@ import { ChevronDownIcon, FolderClosedIcon } from "lucide-react"; import { Button } from "../ui/button"; import { Group, GroupSeparator } from "../ui/group"; import { Menu, MenuItem, MenuPopup, MenuShortcut, MenuTrigger } from "../ui/menu"; -import { CursorIcon, Icon, VisualStudioCode, Zed } from "../Icons"; +import { CursorIcon, Icon, KiroIcon, VisualStudioCode, Zed } from "../Icons"; import { isMacPlatform, isWindowsPlatform } from "~/lib/utils"; import { readNativeApi } from "~/nativeApi"; @@ -22,6 +22,11 @@ const resolveOptions = (platform: string, availableEditors: ReadonlyArray