在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):ChrisPenner/rasa开源软件地址(OpenSource Url):https://github.com/ChrisPenner/rasa开源编程语言(OpenSource Language):Haskell 100.0%开源软件介绍(OpenSource Introduction):Rasa (Rah-zah)Embarrassingly modular customizable text editor built in Haskell. A Rasa editing session with multiple cursors & viewports. DocumentationYou can find hackage documentation for rasa and some extensions here:
What people are saying
Getting startedConfiguring RasaRasa is designed to be easy to configure and script, both when adding extensions provided by the community, and when writing your own user-scripts. Rasa is written in Haskell, and the configuration is done in the Haskell language, don't let that scare you though, you can script Rasa and add extensions without knowing much haskell! Building Your First Extension^ That guide will walk you through installation and getting running! Once
you're running rasa you can experiment with creating your own adaptations. You
should customize your keymap to add a few mappings you like. It's a short step
from here to developing your own extensions. If you have any issues (and I'm sure there'll be a few; it's a new project!) please report them here. Core PrinciplesRasa is meant to be about as modular as an editor can be. The goal is for as much code as possible to be extracted into composable extensions. If the core editing facilities can't be implemented as extensions, then the extension interface isn't powerful enough. I've taken this to its extreme, for instance the following features are implemented as rasa extensions that anyone in the community could have written.
This approach has some unique pros and cons: Pros
Cons
Core FeaturesAs stated above, the editor itself focuses primarily on easy extensibility, so it doesn't have a lot of editing features built in, instead it focuses on standardizing a good extension API. We focus on creating a simple system so people can pick it up quickly. Here are some features of that API: Event Listener SystemAll actions in the editor are triggered via an event/listener system. Extensions may subscribe to events from the editor, or from another extension and perform an action in response. The Event which triggered the listener is available as an argument). Extensions may also dispatch any kind of event at any time which other extensions may listen for. Actions/BufActionsExtensions define things that they'd like to do using a powerful set of
functions which they can embed in an Running TestsRun all tests:
Run only tests for core editor:
InstallationAt the moment you must build Rasa from source; To provide reproducible builds, Rasa uses Stack & Nix.
Installation without nix (not-recommended)
TroubleshootingIf you have issues with nix; you may try running rasa without it with
extra-lib-dirs:
- /usr/local/opt/icu4c/lib
extra-include-dirs:
- /usr/local/opt/icu4c/include
# in stack.yaml
extra-deps:
- rasa-0.1.0.0
- rasa-ext-cursors-0.1.0.0
- rasa-ext-logger-0.1.0.0
- rasa-ext-vim-0.1.0.0
- text-lens-0.1.0.0
- rasa-ext-files-0.1.0.0
- rasa-ext-cmd-0.1.0.0
- rasa-ext-slate-0.1.0.0
- vty-5.14 ContributingThings are moving quickly, but I'd love a hand! You can get a rough idea of where you can help out at the Roadmap, feel free to leave a comment there asking any questions. Chatting about features is a key part of Rasa's development; come join us in the Chat Room! |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论