Giter Club home page Giter Club logo

dcell's People

Contributors

gdamore avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

pinkdiamond1

dcell's Issues

Need to handle glyphs (graphemes) better

The handling for graphemes is a bit dodgy at present -- we use a string text, but there is a grapheme data structure that might be better for this purpose in std.uni.

Harmonize the terminfo database

We currently add capabilities in a few places, and some duplication exists in mkinfo, database.d, and parser.d.

It might be nice to have some kind of map that that has different actions. We could also amend many defaults as long as they don't conflict, for the input parsing. Almost everyone uses the Xterm definitions.

Output is a little trickier.

Possibly this would be best done in a single TermInfo structure.

Support on-demand terminfo parsing

JIT terminal definitions can be scraped from terminfo, using infocmp on the fly in the same way that mkinfo does.

Tcell does this nicely -- we should too. This will help folks who have unusual terminal settings.

Desire convenience methods for strings

Writing a string to a given X, Y location is a pain. We should really provide a convenience for this.

Perhaps just allowing a string to be written at an X, Y via index operators.

input scanner could be refactored

It might be be nice to allow an application to poll the input scanner without requiring an actual second thread. This would permit some use cases where threading is problematic.

toString methods for events

It would be good to be able to display strings for some events ... the key events has some of this already, but we need it for mice, etc.

Escape parsing could use some kind of trie for performance

We are relying on a hacky bespoke algorithm to parse escape sequences, but it is inefficient as we have to scan all possibility each time a a character is added. Using a trie would let us quickly match the character. We could also keep some kind of state about progress in the trie in the parser.

This is probably a substantial performance improvement on input parsing, although input parsing is probably not a super performance sensitive concern for most applications. The current hacky solution seems to work well enough to be reasonably responsive for most cases.

Add Color string API

It would be nice to be able to lookup a color by name (using a user entered string, such as from a theme file). We should provide a list of well known names in string form. And probably methods to go back and forwards.

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.