Giter Site home page Giter Site logo

TextStyle about scone HOT 6 CLOSED

vladdeSV avatar vladdeSV commented on September 23, 2024
TextStyle

from scone.

Comments (6)

vladdeSV avatar vladdeSV commented on September 23, 2024

Sometime soon I would like to add a text-wrapper of sorts. It would consist of a string of text and a text style. This will become it's own GitHub issue later.

Foo("bar", TextStyle().fg(Color.red));

from scone.

vladdeSV avatar vladdeSV commented on September 23, 2024

Cell should contain its own TextStyle, and not each attribute separately.

Maybe the name TextStyle misleading, as the cell only contains one (1) character (dchar).

from scone.

vladdeSV avatar vladdeSV commented on September 23, 2024

Currently enum Color {...} has all ANSI colors, but also the special colors initial and same.

ANSI colors actually define a special "default" color, which initial represents. However, same does not have a ANSI counterpart, and is only used by scone in the buffer to use the same color as the cell being overwritten.

With the addition of TextStyle, I think I can make the foreground and background colors nullable, and not have a special case in the color enum. All while providing a simple experience using the text style.


On second thought, I do not think this is a good idea. Back to the drawing board.

from scone.

vladdeSV avatar vladdeSV commented on September 23, 2024

(Found out the pattern I proposed is called Fluent Interface)

from scone.

vladdeSV avatar vladdeSV commented on September 23, 2024

Implemented in 9ae99d1

from scone.

vladdeSV avatar vladdeSV commented on September 23, 2024

Unsure if this should be the way to style text. Regardless, the ability to use Color.red.foreground should stay in version 3.0 (I think).

Currently it is marked as deprecated. Might undo this later.

from scone.

Related Issues (20)

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.