Browse Source

docs: share page write tool bug

Jay V 7 tháng trước cách đây
mục cha
commit
391c837b37

+ 7 - 7
packages/web/src/components/Share.tsx

@@ -84,7 +84,7 @@ function scrollToAnchor(id: string) {
   el.scrollIntoView({ behavior: "smooth" })
 }
 
-function stripWorkingDirectory(filePath: string, workingDir?: string) {
+function stripWorkingDirectory(filePath?: string, workingDir?: string) {
   if (filePath === undefined || workingDir === undefined) return filePath
 
   const prefix = workingDir.endsWith("/") ? workingDir : workingDir + "/"
@@ -1228,9 +1228,9 @@ export default function Share(props: {
                             const path = createMemo(() =>
                               toolData()?.args.path !== data().rootDir
                                 ? stripWorkingDirectory(
-                                    toolData()?.args.path,
-                                    data().rootDir,
-                                  )
+                                  toolData()?.args.path,
+                                  data().rootDir,
+                                )
                                 : toolData()?.args.path,
                             )
 
@@ -1391,7 +1391,7 @@ export default function Share(props: {
                           {(_part) => {
                             const filePath = createMemo(() =>
                               stripWorkingDirectory(
-                                toolData()?.args.filePath,
+                                toolData()?.args?.filePath,
                                 data().rootDir,
                               ),
                             )
@@ -1430,7 +1430,7 @@ export default function Share(props: {
                                         <div data-part-tool-result>
                                           <ErrorPart>
                                             {formatErrorString(
-                                              toolData()?.result,
+                                              toolData()?.result
                                             )}
                                           </ErrorPart>
                                         </div>
@@ -1449,7 +1449,7 @@ export default function Share(props: {
                                             <div data-part-tool-code>
                                               <CodeBlock
                                                 lang={getShikiLang(filePath())}
-                                                code={args.content}
+                                                code={toolData()?.args?.content}
                                               />
                                             </div>
                                           </Show>

+ 27 - 0
packages/web/src/types/lang-map.d.ts

@@ -0,0 +1,27 @@
+declare module "lang-map" {
+  /** Returned by calling `map()` */
+  export interface MapReturn {
+    /** All extensions keyed by language name */
+    extensions: Record<string, string[]>;
+    /** All languages keyed by file-extension */
+    languages: Record<string, string[]>;
+  }
+
+  /**
+   * Calling `map()` gives you the raw lookup tables:
+   *
+   * ```js
+   * const { extensions, languages } = map();
+   * ```
+   */
+  function map(): MapReturn;
+
+  /** Static method: get extensions for a given language */
+  namespace map {
+    function extensions(language: string): string[];
+    /** Static method: get languages for a given extension */
+    function languages(extension: string): string[];
+  }
+
+  export = map;
+}