https://github.com/travisdoor/tine Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} travisdoor / tine Public * Notifications * Fork 3 * Star 61 * Text editor. 61 stars 3 forks Branches Tags Activity Star Notifications * Code * Issues 2 * Pull requests 1 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights travisdoor/tine This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master BranchesTags Go to file Code Folders and files Last Last Name Name commit commit message date Latest commit History 94 Commits icon icon modules/clipboard modules/clipboard screenshots screenshots src src test test .gitignore .gitignore CHANGELOG.txt CHANGELOG.txt Info.plist Info.plist JetBrainsMono-Regular.ttf JetBrainsMono-Regular.ttf LEGAL.md LEGAL.md README.md README.md SourceCodePro-Regular.ttf SourceCodePro-Regular.ttf SourceSans3-Bold.ttf SourceSans3-Bold.ttf SourceSans3-Regular.ttf SourceSans3-Regular.ttf build-macos-app.sh build-macos-app.sh build.bl build.bl default-config-file-template.proj default-config-file-template.proj emacs-keys.proj emacs-keys.proj fa-solid-900.ttf fa-solid-900.ttf View all files Repository files navigation * README Welcome to the Tine text editor. To see the list of all available commands use Ctrl+X shortcut. * Author: Martin Dorazil * Version: 0.6 (ALPHA) Links * Download: https://travisdp.itch.io/tine * Source code: https://github.com/travisdoor/tine * Compiler: https://github.com/travisdoor/bl * Discord: https://discord.gg/cmDSGMhwYT Tutorials * Introduction: https://youtu.be/vE9m_v0OPqE Supported Languages Language Syntax Highlight LSP BL YES NO C YES YES C++ YES YES Markdown YES (basic) NO GLSL YES NO Philosophy of Tine Tine is a simple text/code editor initially designed as a main work tool just for me, so I did only things I needed, but after some time it turned out it might be useful and helpful for others. The main goal of this editor is to keep the focus on the text editing and not be distracted too much by buttons, tabs, menus, and animations. So there is almost no UI. Text navigation and the editor interactions are strictly designed for keyboard use (since I hate moving my hand during typing and using the mouse); however, some basic mouse support was added after some time (mostly for cases like a quick presentation of code to colleagues and similar things). I mostly use C/C++ at work so the editor is designed to be used with those languages. I used Emacs a lot so my Ctrl key is remapped to CapsLock. I think such Control key position is way better and ergonomic, so consider do the same. Default Tine keybinding is a lot about pressing Control. Also right hand touch-type home position is used as a base for the cursor movement (arrows can be used too). My default working OS is Windows, so the editor was designed according to it. However, porting to other platforms might be possible since the language API used for the editor supports also Linux and Mac. I just didn't spend too much time implementing features like hot-load and process execution there. Authors * Martin Dorazil (travis) * bovacu First Run Windows The editor is distributed as a single small executable containing all the data needed. I recommend putting the executable into a separate directory because the default configuration file default.proj and projects directory will be automatically generated for you next to the executable. MacOS Default configuration file default.proj will be created in ~/.tine directory together with projects folder. Linux Default configuration file default.proj will be created in ~/.tine directory together with projects folder. Configuration The default configuration of the editor can be found in default.proj file. This file is created automatically on the first run. Use open-default-config command to open it. Projects To enable some advanced features as "grep search" you need to create a new project file located in projects directory (use open-projects-directory to open the disk location in your file explorer). Each project is represented as a single configuration file with .proj extension. In general, a project file should contain at least ;include section with a project root directory path and ; include_file_extensions section. You also might need to override some settings from the default.proj configuration. For more details see documentation in the default.proj file (open-default-config command). To open projects from the projects directory use Ctrl+Shift+O or open-project-command. Buffers Each file open in the editor is represented as a single unique buffer. There are some special buffer kinds like Messages (containing log of all notifications and errors) or Build (containing output of the last compilation) existing without any actual file on the disk. Modes Various editor features are implemented as "modes". Run Command Command: run-command Shortcut: Ctrl+X The most fundamental mode serving as an entry point to all editor features. All possible interactions with the editor are build as commands. You can execute any command you want by choosing one from the command list. Use fuzzy-search for a quick lookup. Goto Line Command: goto-line Shortcut: Alt+G Move the cursor in current editor to the line number. Open File Command: open-file Shortcut: Ctrl+O Open the file from disk. Open Project Command: open-project Shortcut: Ctrl+Shift+O Open project from projects directory. Quick Open Command: quick-open Shortcut: Ctrl+P List recursively all files in the project directories specified in project config ;include section. Only editable project files (with extensions listed in ;include_file_extension section) will be present in the list. Use fuzzy-search for a quick lookup. Search Command: search-file Shortcut: Ctrl+S Search in the current focused file buffer. All matching locations are dynamically highlighted as you type. Use Ctrl+K or Ctrl+L (or arrows) no jump between resuts, Enter to jump back to the editor at the found match location or Escape to cancel the search. The search currently does not support regex and match detection is not case sensitive. Use Ctrl+Enter to show search results in split buffer. To replace found results use Ctrl+R shortcut. Search In Project Command: search-in-project Shortcut: Ctrl+Alt+S Search text recursively in all files included in the projec as you type. Use Ctrl+Enter to show search results in split buffer. Build Command: build Shortcut: F4 Currently Windows only. When the build command is executed Tine will try to execute build.bat file in the project directory, result is presented in a read-only buffer. In case the output contains errors or warning in a known format (currently CL and Clang compiler outputs are supported), you can jump between reported source locations by pressing Ctrl+. and Ctrl+, shortcuts (next-error and prev-error commands). Developer Tine text editor is written in a custom language called Biscuit ( https://github.com/travisdoor/bl). The latest master compiler version is required. To compile debug version use: blc -build To compile release version use: blc -build --release About Text editor. Resources Readme Activity Stars 61 stars Watchers 3 watching Forks 3 forks Report repository Contributors 2 * @travisdoor travisdoor Travis * @bovacu bovacu bovacu Languages * C 100.0% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.