tijolo

Simple and fast keyboard focused IDE written in Crystal and GTK.

MIT License

Stars
144

Bot releases are visible (Hide)

tijolo - v0.9.1 Latest Release

Published by hugopl 3 months ago

Fix

  • Pass "-Wl,--as-needed" linker flags to prevent overlinking, thanks @micwoj92 (#20)
  • Fixed some crashes intorduced in 0.9.0 (ff2648cd4eeb59b985333e9f13d8c4d7efeb32ca)
  • Do not use -Dpreview_mt to avoid some freezes (b5b95e02cd55fba4ce3bd071b80bc1d8e03382c9)
  • Log stacktrace on errors (46abc6c5fbe37371715fcdf1767dd7817602f85e)
tijolo -

Published by hugopl 4 months ago

Added

  • Implement "goto definition" feature, meanwhile very limited... but it's something.
  • Load/save file assyncronous without block UI.
  • Detect when an open file was external modified.
  • Detect when an open file was external deleted.

Fixed

  • Fix auto parenthesis selection feature with newer GTK versions.
  • Do not reset cursor on file refresh.
  • Let LameRegexCrystalCodeModel identify class methods.
  • Better handle project directory monitors on diretoties added/removed.
tijolo -

Published by hugopl 7 months ago

Fixed

  • Fixed compilation with GLib 2.80 and GTK 4.14 (#67).
  • Project file monitor is less horrible now.
tijolo -

Published by hugopl 8 months ago

Added

  • Added more shortcuts to help.
  • Added help locator to help locator discovery (still horrible).
  • Implement new find/replace dialog (better, but not there yet).
  • Hide header bar on fullscreen mode.
  • New icon and new welcome screen layout, thanks Marília ❤️.
  • Added support for asynchronous locator providers.
  • Added local symbol locator using a very naive regex parser, supports Crystal and Ruby.

Changed

  • Remove experimental code editor widget, I just don't have time for it, maybe in the future.

Fixed

  • Fix install location of gschema file.
  • Do not always create new windows when opening projects.
  • Fix issue with GTK 4.12.5 that prevent buffer to be saved.
  • Re-detect syntax highlight after saving file with a different name.
  • Fix copy path actions beign disabled.
  • Respect wrap_mode set in configuration.
  • Remove debug messages left overs.
  • Keep locator item on view when navigating through them.
tijolo -

Published by hugopl 10 months ago

Changed

Everything, this is a rewrite using new GTK4 bindings I wrote (0.7.x uses GTK3 and other bindings).

So the UI changed a bit and is now using libAdwaita, some new features added and some old features
were not yet ported. So you will probably suffer to use it now unless you are the guy that wrote it.

Added

  • You can move views from/to different stacks.

Known issues

  • Current find/replace feature is horrible.
  • Git locator (used to git blame, git log, etc) not yet ported.
  • LSP support not yet ported.
  • It doesn't warn you about file external modifications.
  • Increase/decrease editor font size not yet ported.
tijolo -

Published by hugopl about 1 year ago

Fixed

  • Remove redo from keywords in Crystal syntax highlighting.
tijolo -

Published by hugopl over 1 year ago

Fixed

  • Fix possible compilation error if multiple versions of GtkSourceView libraries are installed.

Changed

  • Accept non-git directories as project directories.
  • Do not auto-skip hidden project directories (hello .github dir).
tijolo -

Published by hugopl about 2 years ago

Fixed

  • Fix compilation with recent versions of GTK libraries.
tijolo -

Published by hugopl over 2 years ago

Fixed

  • Explicit destroy GTK windows to reduce the memory leak mess.
  • Basic macOS support.
tijolo -

Published by hugopl over 3 years ago

Added

  • On Welcome Window, trigger a projects rescan on F5.

Fixed

  • Fixed regression on 0.6.0 that caused maximize view action stop working.
  • Fixed GTK warnings when renaming files/changing git branches.
  • Restore cursor position when re-opening a file.
  • Set the cursor position to match current view cursor position on git blame command.
tijolo -

Published by hugopl over 3 years ago

Fixed

  • Fixed some issues when switching views when using split views.

Changed

  • When switching views, a split view indicator is show, so you know where are you going.
  • Restore split views state after finish Ctrl+Tab navigation, chaning just the split you choose.
tijolo -

Published by hugopl over 3 years ago

Fixed

  • Add makefile --ignore-crystal-version to Makefile
tijolo -

Published by hugopl over 3 years ago

Added

  • Improve Ctrl+Tab on multiple splits by prioritizing views in the current split.
  • Reverse Ctrl+Tab on Ctrl+` (on US keyboards), unfortunately no yet configurable.
  • Add fuzzy search to Welcome Screen and improve its keyboard usability.
  • Added copy/paste on terminal view on Ctrl+Shift+C/Ctrl+Shift+V.
  • Add Find By Regexp, triggered on CTRL+R.
  • Add Find/Replace, triggered on CTRL+H.
  • Added passive notification to inform things like when a language server crashed or is ready.
  • Show a notification when no definition is found triggering go to definition action.

Changed

  • Some ♥️ to find/replace UI.

Fixed

  • Fixed compilation with Crystal 0.36.x and 1.0.0.
  • Fix some keyboard focus issues with find/replace widget.
  • Monitor file changes/renames of open non-project files.
  • Only scroll view on text find if the match isn't in the viewport.
tijolo -

Published by hugopl almost 4 years ago

Fixed

  • Focus editor if press ESC on locator.
  • Do not let the editor useless on language server crashes.
  • Do not show previous locator results after close the last editor and hit Ctrl+P.
tijolo -

Published by hugopl almost 4 years ago

Added

  • When using split views, hit Ctrl+Shift+X to maximized the current view and let it tak all screen space.
  • Add .editorconfig support.
  • Use a login shell by default on terminals (configurable).
  • Added default configuration for ccls C/C++/ObjectiveC language server.
  • Added default configuration for yaml-language-server.
  • Added options to copy relative file path on editor header.
  • Show an user friendly message when no git projects were found.
  • Clicking on a branch name on Git Branches view changes the current branch.
  • Added --no-lsp to disable LSP suport.
  • Automatic reload files if they were changed externally but are up to date on git.
  • Added syntax highlighting to git log output.

Fixed

  • Don't show popup menu when clicking on editor bar on terminal views or unsaved files.
  • Fix bad CSS on save/open dialog painting tree views.
  • Correct show project relative path on new saved files on editor header bar.
  • Log to /tmp/tijolo.PID.log when not running on a tty and user didn't pass --logfile. (regression)
  • Fix several issues in LSP implementation.
  • Added some ♥️ into Ruby and Crystal syntax highlighting language specs.
  • Fixed some issues sorting the last used view when switching between views.
  • Clicking on a terminal or image view now proper focus them.
tijolo -

Published by hugopl almost 4 years ago

Added

  • log_level is now configurable via config file.
  • Cursor position history, not working well yet 😕️. Triggered on Alt+Shift+⬅️/Alt+Shift+➡️.
  • Split views!
    • Ctrl+Shift+P open the locator causing the result to be possibly opened by spliting the current view.
    • Shift+F2 go to symbol definition possibly (if file isn't already open) opened by spliting the current view.
    • Ctrl+Shift+O open an external file spliting the current view.
    • Use ALT+Arrows to navigate through split views.
  • Basic image view, really basic.
  • Silent reload readonly open files when they are externally modified.
  • Load the right syntax-highlighting when saving a new file first time or saving as another file name.
  • Embedded terminal! Using VTE, works like any other view, Ctrl+T opens a terminal view in a new split.
  • Make some text editor parameters configurable (line wrap, tabwidth, font size, etc...)
  • Added shortcut to increase/decrease text editor font size, Ctrl+-/Ctrl+=.

Changed

  • Show tree lines on project tree.
  • New files are initially marked as non-modified.
  • Language servers can be disabled in config files by letting then with empty strings

Fixed

  • Don't crash if project directory is removed while Tijolo is open.
  • Starting Tijolo and doing Ctrl+N, Ctrl+W, Ctrl+N works, and I'm too lazy to translate this into a better sentence.
  • Don't comment last line in multi-line code comment if there's no characters selected.
  • Fix detection of Dockerfiles.
tijolo -

Published by hugopl about 4 years ago

Added

  • Open button on header bar, so you can open/create new file at welcome screen.
  • Recent files button on header bar to fast open last 10 non-project files opened.
  • LSP symbols are now cached for faster locator contents load when there's no file changes.
  • Added default configuration for bash language server.
  • New Git locator, triggered on ALT+G or typing "g " on locator
    • git log (basic... without syntax highlighting and not possible to navigate and see the commit diffs)
    • git blame (basic... just show the output in a buffer, the future plan is to show it on editor gutter)
    • git checkout (only for local branches)
  • Default logfile to /tmp/tijolo.#{pid}.log if STDOUT isn't a tty.
  • Show/Hide Project Tree pane on Alt+0.
  • Focus editor on Alt+1.
  • Added Output pane, show/hide on Alt+2, currently it only show Tijolo logs.

Fixed

  • Missing config entries are filled up with defaults.
  • It's now possible to go back to welcome screen after close all files if there's no project open.
  • Fixes on LSP protocol implementation, so more language servers should work with Tijolo.
  • Git branches are now updated on UI when just the HEAD changes.
  • Do not repeated show "File was externally modified" dialog when user press cancel.
  • Correctly set "transient_for" property on dialogs, i.e. dialogs behave as expected reggarding focus.
  • Do not crash if try to reload a deleted file.
  • LSP do not stop working if receive a bad or not supported message from server (Error is show on output pane - Alt+2).
  • Use g_idle_add instead of g_timeout(0), so some inter-thread stuff like LSP is much faster.
tijolo -

Published by hugopl about 4 years ago

  • Don't crash at startup if ~/.config/tijolo directory doesn't exist.
  • Fix compilation with HarfBuzz 2.7.1.
  • Fix app URL on about dialog.
tijolo - First release

Published by hugopl about 4 years ago

For the brave ones!