@pierre/diffs
Version:
111 lines (110 loc) • 13.9 kB
JavaScript
import { ALTERNATE_FILE_NAMES_GIT, CODE_VIEW_FOOTER_ATTRIBUTE, CODE_VIEW_HEADER_ATTRIBUTE, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_HEADER_SLOT_ID, DEFAULT_CODE_VIEW_FILE_METRICS, DEFAULT_CODE_VIEW_LAYOUT, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_SMOOTH_SCROLL_SETTINGS, DEFAULT_THEMES, DEFAULT_TOKENIZE_MAX_LENGTH, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_DEVELOPMENT_BUILD, DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY, DIFFS_SCROLLBAR_MEASURE_ATTRIBUTE, DIFFS_TAG_NAME, EMPTY_RENDER_RANGE, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, GIT_DIFF_FILE_BREAK_REGEX, HEADER_FILENAME_SUFFIX_SLOT_ID, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, MERGE_CONFLICT_BASE_MARKER_REGEX, MERGE_CONFLICT_END_MARKER_REGEX, MERGE_CONFLICT_SEPARATOR_MARKER_REGEX, MERGE_CONFLICT_START_MARKER_REGEX, SPLIT_WITH_NEWLINES, THEME_CSS_ATTRIBUTE, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE } from "./constants.js";
import { AttachedLanguages, RegisteredCustomLanguages, ResolvedLanguages, ResolvingLanguages } from "./highlighter/languages/constants.js";
import { areLanguagesAttached } from "./highlighter/languages/areLanguagesAttached.js";
import { attachResolvedLanguages } from "./highlighter/languages/attachResolvedLanguages.js";
import { cleanUpResolvedLanguages } from "./highlighter/languages/cleanUpResolvedLanguages.js";
import { isWorkerContext } from "./utils/isWorkerContext.js";
import { resolveLanguage } from "./highlighter/languages/resolveLanguage.js";
import { getResolvedOrResolveLanguage } from "./highlighter/languages/getResolvedOrResolveLanguage.js";
import { getThemes } from "./utils/getThemes.js";
import { AttachedThemes } from "./highlighter/themes/constants.js";
import { areThemesAttached } from "./highlighter/themes/areThemesAttached.js";
import { attachResolvedThemes } from "./highlighter/themes/attachResolvedThemes.js";
import { cleanUpResolvedThemes } from "./highlighter/themes/cleanUpResolvedThemes.js";
import { resolveTheme } from "./highlighter/themes/resolveTheme.js";
import { getResolvedOrResolveTheme } from "./highlighter/themes/getResolvedOrResolveTheme.js";
import { disposeHighlighter, getHighlighterIfLoaded, getSharedHighlighter, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, preloadHighlighter } from "./highlighter/shared_highlighter.js";
import { clearRenderQueue, dequeueRender, queueRender } from "./managers/UniversalRenderingManager.js";
import { areObjectsEqual } from "./utils/areObjectsEqual.js";
import { areThemesEqual } from "./utils/areThemesEqual.js";
import { areOptionsEqual } from "./utils/areOptionsEqual.js";
import { areSelectionsEqual } from "./utils/areSelectionsEqual.js";
import { createWindowFromScrollPosition } from "./utils/createWindowFromScrollPosition.js";
import { prefersReducedMotion } from "./utils/prefersReducedMotion.js";
import { createGutterGap, createGutterItem, createGutterWrapper, createHastElement, createIconElement, createTextNodeElement, findCodeElement } from "./utils/hast_utils.js";
import { createGutterUtilityElement } from "./utils/createGutterUtilityElement.js";
import { InteractionManager, pluckInteractionOptions } from "./managers/InteractionManager.js";
import { ResizeManager } from "./managers/ResizeManager.js";
import { hasResolvedThemes } from "./highlighter/themes/hasResolvedThemes.js";
import { areFileRenderOptionsEqual } from "./utils/areFileRenderOptionsEqual.js";
import { areRenderRangesEqual } from "./utils/areRenderRangesEqual.js";
import { createAnnotationElement } from "./utils/createAnnotationElement.js";
import { getIconForType } from "./utils/getIconForType.js";
import { createFileHeaderElement } from "./utils/createFileHeaderElement.js";
import { createPreElement, createPreWrapperProperties } from "./utils/createPreElement.js";
import { EXTENSION_TO_FILE_FORMAT, getCustomExtensionsMap, getCustomExtensionsVersion, getFiletypeFromFileName, replaceCustomExtensions, setCustomExtension } from "./utils/getFiletypeFromFileName.js";
import { getHighlighterOptions } from "./utils/getHighlighterOptions.js";
import { getLineAnnotationName } from "./utils/getLineAnnotationName.js";
import { isDefaultRenderRange } from "./utils/isDefaultRenderRange.js";
import { processLine } from "./utils/processLine.js";
import { createTransformerWithState } from "./utils/createTransformerWithState.js";
import { formatCSSVariablePrefix } from "./utils/formatCSSVariablePrefix.js";
import { getHighlighterThemeStyles } from "./utils/getHighlighterThemeStyles.js";
import { getLineNodes } from "./utils/getLineNodes.js";
import { renderFileWithHighlighter } from "./utils/renderFileWithHighlighter.js";
import { FileRenderer } from "./renderers/FileRenderer.js";
import { SVGSpriteSheet } from "./sprite.js";
import { areLineAnnotationsEqual } from "./utils/areLineAnnotationsEqual.js";
import { arePrePropertiesEqual } from "./utils/arePrePropertiesEqual.js";
import { createAnnotationWrapperNode } from "./utils/createAnnotationWrapperNode.js";
import { createGutterUtilityContentNode } from "./utils/createGutterUtilityContentNode.js";
import { createUnsafeCSSStyleNode } from "./utils/createUnsafeCSSStyleNode.js";
import { patchScrollbarGutterSize, wrapCoreCSS, wrapThemeCSS, wrapUnsafeCSS } from "./utils/cssWrappers.js";
import { getLineAnnotationSource, recordLineAnnotationSource } from "./utils/lineAnnotationIdentity.js";
import { getOrCreateCodeNode } from "./utils/getOrCreateCodeNode.js";
import { prerenderHTMLIfNecessary } from "./utils/prerenderHTMLIfNecessary.js";
import { setPreNodeProperties } from "./utils/setWrapperNodeProps.js";
import { File } from "./components/File.js";
import { VirtualizedFile } from "./components/VirtualizedFile.js";
import { areDiffTargetsEqual } from "./utils/areDiffTargetsEqual.js";
import { areFilesEqual } from "./utils/areFilesEqual.js";
import { cloneFileDiffMetadata, cloneHunks } from "./utils/cloneFileDiffMetadata.js";
import { hydratePartialDiff } from "./utils/hydratePartialDiff.js";
import { cleanLastNewline } from "./utils/cleanLastNewline.js";
import { detachString, releaseStringDetachBuffer } from "./utils/detachString.js";
import { parsePatchFiles, processFile, processPatch } from "./utils/parsePatchFiles.js";
import { parseDiffFromFile } from "./utils/parseDiffFromFile.js";
import { ScrollSyncManager } from "./managers/ScrollSyncManager.js";
import { areDiffRenderOptionsEqual } from "./utils/areDiffRenderOptionsEqual.js";
import { createEmptyRowBuffer } from "./utils/createEmptyRowBuffer.js";
import { createNoNewlineElement } from "./utils/createNoNewlineElement.js";
import { createSeparator } from "./utils/createSeparator.js";
import { getHunkSeparatorSlotName } from "./utils/getHunkSeparatorSlotName.js";
import { getTotalLineCountFromHunks } from "./utils/getTotalLineCountFromHunks.js";
import { createDiffSpanDecoration, pushOrJoinSpan } from "./utils/parseDiffDecorations.js";
import { renderDiffWithHighlighter } from "./utils/renderDiffWithHighlighter.js";
import { DiffHunksRenderer } from "./renderers/DiffHunksRenderer.js";
import { areDiffLineAnnotationsEqual } from "./utils/areDiffLineAnnotationsEqual.js";
import { areHunkDataEqual } from "./utils/areHunkDataEqual.js";
import { FileDiff } from "./components/FileDiff.js";
import { VIRTUALIZED_FILE_DIFF_LAYOUT_CHECKPOINT_INTERVAL, VirtualizedFileDiff } from "./components/VirtualizedFileDiff.js";
import { CODE_VIEW_DIFF_OPTION_KEYS, CODE_VIEW_FILE_OPTION_KEYS, CodeView } from "./components/CodeView.js";
import { ShikiStreamTokenizer } from "./shiki-stream/tokenizer.js";
import { CodeToTokenTransformStream } from "./shiki-stream/stream.js";
import { createSpanFromToken } from "./utils/createSpanNodeFromToken.js";
import { FileStream } from "./components/FileStream.js";
import { resolveRegion } from "./utils/resolveRegion.js";
import { resolveConflict } from "./utils/resolveConflict.js";
import { UnresolvedFile, getUnresolvedDiffHunksRendererOptions } from "./components/UnresolvedFile.js";
import { areVirtualWindowSpecsEqual } from "./utils/areVirtualWindowSpecsEqual.js";
import { Virtualizer } from "./components/Virtualizer.js";
import { getResolvedLanguages } from "./highlighter/languages/getResolvedLanguages.js";
import { hasResolvedLanguages } from "./highlighter/languages/hasResolvedLanguages.js";
import { registerCustomLanguage } from "./highlighter/languages/registerCustomLanguage.js";
import { resolveLanguages } from "./highlighter/languages/resolveLanguages.js";
import { getResolvedThemes } from "./highlighter/themes/getResolvedThemes.js";
import { registerCustomTheme } from "./highlighter/themes/registerCustomTheme.js";
import { registerCustomCSSVariableTheme } from "./highlighter/themes/registerCustomCSSVariableTheme.js";
import { resolveThemes } from "./highlighter/themes/resolveThemes.js";
import { isDiffAnnotation, isDiffAnnotationCollection, isFileAnnotation, isFileAnnotationCollection } from "./utils/annotationHelpers.js";
import { areWorkerStatsEqual } from "./utils/areWorkerStatsEqual.js";
import { createRowNodes } from "./utils/createRowNodes.js";
import { createStyleElement, createThemeStyleElement } from "./utils/createStyleElement.js";
import { diffAcceptRejectHunk } from "./utils/diffAcceptRejectHunk.js";
import { getLineEndingType } from "./utils/getLineEndingType.js";
import { getSingularPatch } from "./utils/getSingularPatch.js";
import { parseLineType } from "./utils/parseLineType.js";
import { setLanguageOverride } from "./utils/setLanguageOverride.js";
import { trimPatchContext } from "./utils/trimPatchContext.js";
import { codeToHtml, createCssVariablesTheme as createCSSVariablesTheme } from "shiki";
export { ALTERNATE_FILE_NAMES_GIT, AttachedLanguages, AttachedThemes, CODE_VIEW_DIFF_OPTION_KEYS, CODE_VIEW_FILE_OPTION_KEYS, CODE_VIEW_FOOTER_ATTRIBUTE, CODE_VIEW_HEADER_ATTRIBUTE, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_HEADER_SLOT_ID, CodeToTokenTransformStream, CodeView, DEFAULT_CODE_VIEW_FILE_METRICS, DEFAULT_CODE_VIEW_LAYOUT, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_SMOOTH_SCROLL_SETTINGS, DEFAULT_THEMES, DEFAULT_TOKENIZE_MAX_LENGTH, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_DEVELOPMENT_BUILD, DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY, DIFFS_SCROLLBAR_MEASURE_ATTRIBUTE, DIFFS_TAG_NAME, DiffHunksRenderer, EMPTY_RENDER_RANGE, EXTENSION_TO_FILE_FORMAT, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, File, FileDiff, FileRenderer, FileStream, GIT_DIFF_FILE_BREAK_REGEX, HEADER_FILENAME_SUFFIX_SLOT_ID, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, InteractionManager, MERGE_CONFLICT_BASE_MARKER_REGEX, MERGE_CONFLICT_END_MARKER_REGEX, MERGE_CONFLICT_SEPARATOR_MARKER_REGEX, MERGE_CONFLICT_START_MARKER_REGEX, RegisteredCustomLanguages, ResizeManager, ResolvedLanguages, ResolvingLanguages, SPLIT_WITH_NEWLINES, SVGSpriteSheet, ScrollSyncManager, ShikiStreamTokenizer, THEME_CSS_ATTRIBUTE, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, UnresolvedFile, VIRTUALIZED_FILE_DIFF_LAYOUT_CHECKPOINT_INTERVAL, VirtualizedFile, VirtualizedFileDiff, Virtualizer, areDiffLineAnnotationsEqual, areDiffRenderOptionsEqual, areDiffTargetsEqual, areFileRenderOptionsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, clearRenderQueue, cloneFileDiffMetadata, cloneHunks, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createGutterGap, createGutterItem, createGutterUtilityContentNode, createGutterUtilityElement, createGutterWrapper, createHastElement, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createThemeStyleElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, dequeueRender, detachString, diffAcceptRejectHunk, disposeHighlighter, findCodeElement, formatCSSVariablePrefix, getCustomExtensionsMap, getCustomExtensionsVersion, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineAnnotationSource, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, getUnresolvedDiffHunksRendererOptions, hasResolvedLanguages, hasResolvedThemes, hydratePartialDiff, isDefaultRenderRange, isDiffAnnotation, isDiffAnnotationCollection, isFileAnnotation, isFileAnnotationCollection, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, patchScrollbarGutterSize, pluckInteractionOptions, prefersReducedMotion, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, recordLineAnnotationSource, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, releaseStringDetachBuffer, renderDiffWithHighlighter, renderFileWithHighlighter, replaceCustomExtensions, resolveConflict, resolveLanguage, resolveLanguages, resolveRegion, resolveTheme, resolveThemes, setCustomExtension, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapThemeCSS, wrapUnsafeCSS };