Skip to content

yukimemi/fall-source-chronicle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fall-source-chronicle

This is the chronicle.vim source of fall.vim

Requirement

Sample configuration

  • FallCustom
import * as builtin from "jsr:@vim-fall/std/builtin";
import type { Entrypoint } from "jsr:@vim-fall/custom";
import { chronicle } from "jsr:@yukimemi/fall-source-chronicle";
import { composeRenderers, refineSource } from "jsr:@vim-fall/std";

const myPathActions = {
  ...builtin.action.defaultOpenActions,
  ...builtin.action.defaultSystemopenActions,
  ...builtin.action.defaultCdActions,
};
const myMiscActions = {
  ...builtin.action.defaultEchoActions,
  ...builtin.action.defaultYankActions,
  ...builtin.action.defaultSubmatchActions,
};

export const main: Entrypoint = (
  {
    definePickerFromSource,
    refineSetting,
  },
) => {
  refineSetting({
    coordinator: builtin.coordinator.modern,
    theme: builtin.theme.MODERN_THEME,
  });

  const defineChroniclePicker = (mode: "read" | "write") => {
    definePickerFromSource(
      `chronicle:${mode}`,
      refineSource(
        chronicle({ mode }),
        builtin.refiner.exists,
        builtin.refiner.relativePath,
      ),
      {
        matchers: [builtin.matcher.fzf],
        sorters: [builtin.sorter.noop],
        renderers: [
          composeRenderers(builtin.renderer.smartPath, builtin.renderer.nerdfont),
          builtin.renderer.noop,
        ],
        previewers: [builtin.previewer.file],
        actions: { ...myPathActions, ...myMiscActions },
        defaultAction: "open",
      },
    );
  };

  defineChroniclePicker("read");
  defineChroniclePicker("write");
};

License

Licensed under MIT License.

Copyright (c) 2024 yukimemi

Releases

No releases published

Packages

No packages published