Code Monkey home page Code Monkey logo

terminal-editor's Introduction

terminal-editor

Travis CI Status AppVeyor status

Requirements

  1. Musi działać przez PuTTy.
  2. Musi obsługiwać zaznaczanie tekstu:
    • klawiaturą (SHIFT + strzałki/home/end, SHIFT+CTRL + strzałki/home/end, CTRL+A),
    • myszą.
  3. Musi obsługiwać CTRL+C, CTRL+V.
  4. Jeśli to możliwe schowek powinien być zintegrowany z komputerem który odpala PuTTy.
  5. Obsługa tylko LF.
  6. Search/replace. Może być bez regeksów.
  7. Menu na górze i "okienkowy" interfejs.
  8. Konwersja tabs to spaces.
  9. Konwersja CRLF to LF.
  10. Obługa tabulatorów (niestety konieczność).
  11. Jakieś kolorowanie składni (byłoby fajnie, choć nie priorytet).
  12. Chodzenie po słowach CTRL + lewo/prawo.
  13. Nie musi obsługiwać dużych plików.
  14. Musi pokazywać plik jako read only jeśli nie da się zapisać.
  15. Smart indent (głupi indent czyli). Tabulator i backspace wstawiają/usuwają 4 spacje. Nowa linia kopiuje indentację z poprzedniej.
  16. Podgląd i edycja heksów.
  17. Wewnętrzny schowek z historią do kilku wstecz.
  18. Wsparcie zmiany rozmiaru okna terminala.
  19. cała (prawie) funkcjonalność ma być dostępna bez myszy.
  20. Unlimitted UNDO/REDO levels.
  21. Support for UTF-8. All other encodings are optional.

Extra requirements

  1. Możliwość dodawania okienek z rozszerzeniami, np. grep, bash console
  2. Możliwość zagnieżdżenia w istniejącym programie (tu masz wymiary okienka, daj listnery na zmianę rozmiaru, run)

Running tests

editor-tests executable must be run inside tests/ directory, because it needs to access tests/test-data.

Used third party libraries

  1. Catch2 by Phil Nash (Boost license).
  2. nlohmann/json by Niels Lohmann (MIT license).
  3. wcwidth by Markus Kuhn (custom license).
  4. GSL by Microsoft (MIT license).
  5. optional by Simon Brand (CC0 license).
  6. expected by Simon Brand (CC0 license).

Downloading submodules

git pull
git submodule init
git submodule update

VT100 docs

http://ascii-table.com/ansi-escape-sequences-vt-100.php https://espterm.github.io/docs/VT100%20escape%20codes.html https://vt100.net/docs/vt100-ug/chapter3.html

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.