Comparing version 0.10.0 to 0.11.0
@@ -17,1 +17,9 @@ /// <reference types="../../types/vim" /> | ||
export declare function ticker(callback: (value: number, done: boolean, animation: Animation) => void): Animation; | ||
export declare class Timer { | ||
fn: Function; | ||
duration: number; | ||
timer: vim.Timer | null; | ||
static wait(duration: number): Promise<void>; | ||
constructor(duration: number, fn: Function); | ||
stop(): void; | ||
} |
@@ -36,3 +36,3 @@ import { Rectangle } from '../../math'; | ||
private _image; | ||
private _isTransmitting; | ||
private _transmittingImage; | ||
/** | ||
@@ -39,0 +39,0 @@ * Measurements of the screen. (0, 0, screenWidth, screenHeight). |
@@ -5,5 +5,7 @@ import './setup'; | ||
import './canvas-renderer'; | ||
import './state'; | ||
export * from './animate'; | ||
export * from './core'; | ||
export * from './editor'; | ||
export * from './eventemitter3'; | ||
export * from './display'; | ||
@@ -10,0 +12,0 @@ export * from './graphics'; |
@@ -48,2 +48,6 @@ import { Point } from '../core'; | ||
private _computedGroup; | ||
private _didAttachBuffer; | ||
private _changeListeners; | ||
private _didMount; | ||
private _mountListeners; | ||
constructor(options: InputOptions); | ||
@@ -66,4 +70,2 @@ clone(): Input; | ||
_renderCanvas(renderer: Renderer): void; | ||
_updateWindow(renderer: Renderer): void; | ||
_getBufferId(): number; | ||
_updateGeometry(): void; | ||
@@ -74,2 +76,10 @@ /** Retrieves the bounds of the graphic shape as a rectangle object. */ | ||
containsPoint(point: IPointData): boolean; | ||
onChange(fn: (value: string) => void): void; | ||
onMount(fn: (bufferId: number) => void): void; | ||
_hasBuffer(): boolean; | ||
_hasWindow(): boolean; | ||
_updateWindow(renderer: Renderer): void; | ||
_attachBuffer(): void; | ||
_onBufferLines: () => void; | ||
_getBufferId(): number; | ||
/** Destroys the Input object. */ | ||
@@ -76,0 +86,0 @@ destroy(options?: IDestroyOptions | boolean): void; |
{ | ||
"name": "kui.nvim", | ||
"version": "0.10.0", | ||
"version": "0.11.0", | ||
"description": "A neovim UI framework using the kitty graphics protocol", | ||
"main": "index.js", | ||
"scripts": { | ||
"build": "npm run build:lua && npm run build:types", | ||
"build:lua": "tstl", | ||
"build:types": "tsc --declaration --emitDeclarationOnly --project tsconfig-declaration.json && node ./scripts/adjustPaths.js", | ||
"prepare": "npm run build", | ||
"start": "tstl --watch" | ||
}, | ||
"types": "./dist/index.d.ts", | ||
@@ -31,9 +38,3 @@ "files": [ | ||
"colord": "^2.9.3" | ||
}, | ||
"scripts": { | ||
"build": "npm run build:lua && npm run build:types", | ||
"build:lua": "tstl", | ||
"build:types": "tsc --declaration --emitDeclarationOnly --project tsconfig-declaration.json && node ./scripts/adjustPaths.js", | ||
"start": "tstl --watch" | ||
} | ||
} | ||
} |
# kui.nvim | ||
An experimental fork of [hologram.nvim](https://github.com/edluffy/hologram.nvim) aiming to create a UI framework. | ||
This project is a neovim UI framework, aiming to use the Kitty graphics protocol to build complex graphical interfaces. | ||
This depends on the user having a terminal with support for the [kitty graphics protocol](https://sw.kovidgoyal.net/kitty/graphics-protocol/) | ||
as well as [libcairo](https://www.cairographics.org/) installed. | ||
See [kirby.nvim](https://github.com/romgrk/kirby.nvim) for a more complex example. | ||
![demo](./assets/kui-demo.gif) | ||
See https://github.com/romgrk/kui-demo.nvim for a template showing how to implement the demo above. | ||
## Plugins | ||
These plugins are based on kui: | ||
- [kirby.nvim](https://github.com/romgrk/kirby.nvim) | ||
## Status & features | ||
Status: experimental, good enough for small use cases | ||
Features: | ||
- [x] Container system (transpiled from Pixi.JS via TypescriptToLua) | ||
- [ ] Images (I don't remember if I implemented it, TBC) | ||
- [ ] Masks | ||
- [x] Graphics (lines, rects, ovals, paths) | ||
- [x] Basic text (size, family, weight, color) | ||
- [ ] Advanced text (highlighted text (think code syntax), proper layout & rendering) | ||
- [x] Medium-performance rendering (think 30FPS animations, medium surface) | ||
- [ ] High-performance rendering (think 60FPS animations, large surface) | ||
## License | ||
@@ -8,0 +33,0 @@ |
declare module 'kui.legacy.image' { | ||
export class Image { | ||
/** @noSelf */ | ||
static new(data: any, opts: { buffer?: number, row: number, col: number }): Image; | ||
id: number | ||
did_cancel: boolean | ||
did_transmit: boolean | ||
transmit(fn?: Function): void; | ||
@@ -9,0 +12,0 @@ display(opts?: { z_index?: number }): void; |
declare module 'kui.legacy.state' { | ||
export function update_dimensions(): void | ||
export const dimensions: { | ||
@@ -3,0 +4,0 @@ screen_cells: { |
import { Loop, Timer as LoopTimer } from './loop.d'; | ||
import { Api } from './api.d'; | ||
import { Json } from './json.d'; | ||
import { Lsp } from './lsp.d'; | ||
@@ -24,2 +25,3 @@ import { Treesitter } from './treesitter.d'; | ||
const loop: Loop; | ||
const json: Json; | ||
const diagnostic: Diagnostic; | ||
@@ -26,0 +28,0 @@ const treesitter: Treesitter; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1254857
187
29187
43