GithubHelp home page GithubHelp logo

romgrk / kui.nvim Goto Github PK

View Code? Open in Web Editor NEW
150.0 7.0 0.0 5.5 MB

UI neovim framework for kitty

License: MIT License

Lua 11.06% Roff 0.68% C 77.23% Shell 0.08% C++ 0.77% Vim Script 0.01% TypeScript 10.16% GLSL 0.01% JavaScript 0.01%

kui.nvim's Introduction

kui.nvim

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 as well as libcairo installed.

See kirby.nvim for a more complex example.

demo

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:

Status & features

Status: experimental, good enough for small use cases

Features:

  • Container system (transpiled from Pixi.JS via TypescriptToLua)
  • Images (I don't remember if I implemented it, TBC)
  • Masks
  • Graphics (lines, rects, ovals, paths)
  • Basic text (size, family, weight, color)
  • Advanced text (highlighted text (think code syntax), proper layout & rendering)
  • Medium-performance rendering (think 30FPS animations, medium surface)
  • High-performance rendering (think 60FPS animations, large surface)

License

MIT

Includes code from:

kui.nvim's People

Contributors

romgrk avatar edluffy avatar vhyrro avatar tzachar avatar geier avatar

Stargazers

Gustavo Joaquin avatar Kim A. Ødegaard avatar alaska avatar pearagon avatar Aaron Adams avatar aA avatar Fr4nk1in avatar Tak avatar Antti Holvikari avatar Tim Kersey avatar Anupam <|> अनुपम avatar  avatar Koichi Shiraishi avatar Maks E. avatar Nguyen Thanh Dat avatar Dmitriy Kovalenko avatar Peter A. avatar  avatar Jackie Li avatar  avatar Junnun Mohamed Karim avatar William Hleucka avatar Jonny Hou avatar 二猫姥爷 avatar Michael M. avatar  avatar now-ing avatar Will Hopkins avatar  avatar hebe ⚸ dite avatar BenzNT avatar  avatar Anton avatar Keith Hughitt avatar DragonBillow avatar João Paulo avatar Phil Cohen avatar M. Tong avatar searooter avatar Dolev Hadar avatar  avatar 엘련(Jisu Kim) avatar  avatar Miguel Morais avatar Davide Peressoni avatar Eduardo Bellido Bellido avatar Yukai Huang avatar Hawtian Wang avatar Eyal Chojnowski avatar  avatar mluna avatar Dustin Blackman avatar Felipe M avatar Kevin Krouse avatar Harry Gallagher avatar Edgars Burtnieks avatar Chase Colman avatar  avatar  avatar Viraat Chandra avatar Jongwook Choi avatar Mike Iversen avatar Shihua Zeng avatar Gidoong Park avatar Sean Hagstrom avatar Nischal Mainali avatar Anirudh Rowjee avatar Dimas Cyriaco avatar Rolf avatar Adriel avatar  avatar Liam Dyer avatar Johnny (Hao) Jiang avatar Rafael Bodill avatar  avatar  avatar  avatar Martin Kinoo avatar Gaeulbyul avatar Maddison Hellstrom avatar Emerson do Amaral avatar Senku avatar  avatar Fadel avatar NULL avatar Daniel Kahlenberg avatar  avatar  avatar Diego Aguilar avatar Michael Lan avatar Darrion B avatar Aquib Javed avatar Axel H. avatar Lalit Kumar avatar Kevin Manca avatar yasunori avatar Julian Prein avatar  avatar Tushar avatar Niels Mentink avatar

Watchers

Devon Richards avatar Jongwook Choi avatar  avatar Benoit de Chezelles avatar  avatar  avatar William Hleucka avatar

kui.nvim's Issues

docs: add section for Status of Project

this is a plugin with HUGE potential, and it will be helpful to have these sections in a wiki or in a section of the README.md for plugin authors AND plugin users to see the status of this project, and where / how can they use it (directly or indirectly).

sections to consider:

  • status of project (scope, missing features, completed features, required help, references etc)
  • usage (plugins using this if any) [ consider adding the demo to this section as well ]

Question: How it renders?

Seems like kui-demo.nvim and kirby.nvim are float. But I want to draw on buffer. If user move(resize, close etc.) buffer, rendered side also effect. Is it possible?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.