Tags give the ability to mark specific points in history as being important
  • v1.5.1
    22b7c68c · v1.5.1 ·
    Release v1.5.1

    New features:

    • Added preferences item debug_place_cursor_at_stop to update cursor when the debugger stops
    • Improved debug tooltips in class member source files: constant expressions should now be processed and shown
    • Binding shortcuts to snippets is now possible by adding key values in snippets.json
    • Added Show Breakpoints to the Debug menu
    • Prettier can now be run on HTML files
    • Added Window->Split Source Buffer
    • Added preference option to disable replacing search entry with selected text
    • Added markdown_command to project preferences

    Cleanups, bugfixes and other improvements:

    • Slight improvement to C/C++ include completion
    • Language protocol: fixed type coverage warnings
    • Added support for .tsx files
    • MacOS: added missing include and framework folders
    • Fixed spellcheck of entire buffer when buffer starts with a comment or string
    • Improved entry history that is for instance used in the search dialog. Can now go to previous text history, and back to last written text
    • Improved snippets: now supports variables TM_SELECTED_TEXT, TM_CURRENT_LINE, TM_CURRENT_WORD, TM_LINE_INDEX, TM_LINE_NUMBER, TM_FILENAME_BASE, TM_FILENAME, TM_DIRECTORY, TM_FILEPATH, CLIPBOARD, and default values
    • Optimized ctags parsing
    • Fixed usage cache count, and added info message about background processes if any when quitting juCi++
    • Fixed threaded dispatcher disconnects that must happen in the main thread
    • Fixed potential crash when full reparse is needed before exiting juCi++
    • Fixed prettier error message parsing
    • Language protocol: now shows possible arguments if no argument info is sent from server after autocomplete
    • Cleanup and fixes to dialog and tooltip positioning, and dialogs and tooltips should now not be partially shown outside of screen
    • Improved speed of directory view when opening folder containing a large number of files or directories
    • Language protocol: Prettier is now the preferred style formatting instead of using the language server
  • v1.5.0
    2c0df4ae · v1.5.0 ·
    Release v1.5.0

    New features:

    • Snippets support
    • Support for builds that includes compile_commands.json files created by tools like Bear and compiledb
    • Possibility to override theme font in preferences
    • Added Edit.Show/Hide that can be used to hide text in a buffer by making it smaller
    • Bracket languages: now adds or removes /**/ around selection when typing /
    • When parsing header files, try use the same flags as source files in the same folder
    • Cmake and meson: when no executable is found, look in src-folder if any
    • Added additional info to status line when text is selected: number of lines, words and characters
    • Debugging in C/C++: tooltips now show values of evaluated expressions that does not change program state
    • Added Edit->Extend/Shrink Selection
    • Added Edit->Cut Lines and Edit->Copy Lines. Additionally, successive cut lines now accumulates the clipboard

    Cleanups, bugfixes and other improvements:

    • Added log.libclang to preferences that when enabled outputs diagnostics to standard output
    • Fixed directory git status for paths within a symbolic linked folder
    • Improved markdown style format
    • Directories and files in directory view are now naturally sorted
    • Clang index no longer static due to libclang crashes when using the same index in parallel parses
    • Various improvements to language protocol support
    • Fixes #include-completion where an extra " or > was added after inserted text
    • Fixed crash in newest libgit2: initialize must now be called before using git_diff_buffers
    • Now prevents infinite loop when searching for symbol documentation in libclang
    • Corrected identification of code characters at the end of raw string literals
    • Corrected default preference options documentation_searches.clang.queries
  • v1.4.6
    ec182761 · v1.4.6 ·
    Release v1.4.6

    Cleanups, bugfixes and other improvements:

    • Now fully reparses on file rename to avoid wrong file names in libclang operations
    • Minor optimization to finding C/C++ usages
    • No longer adds semicolon after lambda inside curly or square brackets
    • Simplified and corrected autocomplete regexes. No longer autocompletes on . after a number.
    • Find dialog will now use selection from active view as initial text.
    • Now removes -include-pch arguments for C/C++ header files
    • Now excludes dependency file generation when parsing C/C++ files
    • No longer adds -fretain-comments-from-system-headers when using pch file
    • Fixed finding debug path when using <project_directory_name> in preferences
    • Language protocol:
      • Added argument completions for Python
      • No longer adds = after inserting named parameter
      • Fixed indentation when pasting Python code where the first line ends with :
      • Improved Find Symbol, and implemented Go to Method
      • Added error message if request to server timed out
      • Fixed documentSymbol queries
      • No longer adds parameters when selecting autocomplete items using for instance arrow down/up
      • No longer shows tooltips when view is not in focus
      • No longer adds documentation to autocomplete if it is equal to the detail already added
      • Fixed prettier error tooltips that did not show
      • Fixed javascript indentation outside brackets when line starts with (, [ or {
  • v1.4.5
    e95c2aa2 · v1.4.5 ·
    Release v1.4.5

    Cleanups, bugfixes and other improvements:

    • Simplified CI scripts due to GitLab migration
    • Improved CUDA support
    • Deleted lines in a git project slightly more visible when using a dark theme
    • Fixed indentation after if constexpr and else if constexpr
    • Language protocol:
      • Fixed header parsing when partial header was received
      • Various improvements and cleanups of the source code
      • Fixed issue where tabbing to next argument stopped working after performing a smart insertion
      • Logging of client-server communication can now be enabled in preferences for easier debugging
      • Added support for relatedInformation in diagnostics
      • Added some fallback functions on missing server capabilities
    • Added bottom margin to source views
    • Python, JavaScript: Now clears terminal on Compile and Run if enabled
    • Improved JavaScript and JSON indentation, as well as improvements to and cleanups of indentation code in general
    • juCi++ source code now formatted with custom clang-format
    • Auto-reloading of files changed on disk now on by default
    • Fixed crash when closing a tab in the middle of a scroll action
    • New python files will now have 4 spaces tab as default
    • Added support for Python projects through identification of __main__.py files
    • File->New Project now adds a .clang-format file as well
    • Fixed issues with file monitoring, where multiple changes within one second would not be handled
    • Links in comments are now clickable
    • Clickable symbols are now underlined
    • Renaming files/directories now causes affected buffers to be reparsed
    • Preference item source.format_style_on_save_if_style_file_found is now true by default
    • CTags now excludes node_modules
  • v1.4.4
    5f68ef7f · v1.4.4 ·
    Release v1.4.4

    Cleanups, bugfixes and other improvements:

    • Fixed compilation in MSYS2 with liblldb
    • Changed type of bool to atomic<bool> to avoid undefined behavior
    • Fixed errorenous iterator usage in libclangmm's clangmm::Tokens::Tokens
    • Similar symbol tagging cleanup
    • Extension is no longer selected when renaming files from directory view
    • package.json files are no longer style formatted on save
  • v1.4.3
    f2ef7ede · v1.4.3 ·
    Release v1.4.3

    New features:

    • Cut/Copy now cuts/copies line if no text is selected
    • Type tooltip is shown at auto symbol
    • Now adds #pragma once when opening empty C/C++ header
    • Can now undo file reload
    • Added Flow coverage support

    Cleanups, bugfixes and other improvements:

    • Cleanup and minor improvements to cut/copy/paste on various widgets
    • Tooltips are no longer hidden when the cursor is moving towards them
    • Cleanup of styles, and no longer uses deprecated functions related to setting styles
    • Correctly marks JavaScript as a language that uses brackets (bug introduced in last version)
    • Spellcheck context fix for cmake files (bug introduced in gtksourceview language spec)
    • Corrected SelectionDialog window height
    • Fixed various warnings found through different clang-tidy checks
    • Implement Method now includes noexcept specifier
  • v1.4.2
    d9d216f2 · v1.4.2 ·
    Release v1.4.2

    New features:

    • Multiple cursor support that can be turned on in Preferences
    • Now checks for format files when language protocol is used
    • Python command can be changed in Preferences
    • Text buffers can now be automatically reloaded on file changes if source.auto_reload_changed_files preference item is enabled
    • Now supports format style through Prettier if found

    Cleanups, bugfixes and other improvements:

    • Drag-and-drop for directories reenabled on MacOS
    • Tooltips are moved slightly to the right when reaching top of screen, so that the text cursor is visible
    • Language protocol tag tokens, and open/close buffer functions are now asynchronous
    • Autocomplete is now triggered after " and ' characters when language protocol is used
    • Replacing text in a buffer has been optimized through libgit2's git_diff_buffers
    • Fixed potential crash when using for instance go to declaration before buffer has finished parsing and before autocomplete has been triggered
    • Fixed LLDB::get_value that sometimes crashed when looking up a function/method, and can now receive return values from object methods
    • Better looking tooltips with slightly rounded corners
  • v1.4.1
    81cebb57 · v1.4.1 ·
    Release v1.4.1

    New features:

    • Additional information is stored and used between juCi++ sessions: line offsets of buffers, window size, run arguments, and debug run arguments, including remote debug settings
    • Support for OpenCL source-files

    Cleanups, bugfixes and other improvements:

    • Language protocol:
      • Added support for textDocument/documentHighlight
      • Added support for workspace/symbol
      • Added correct tab size and char on style format
      • Improved Compile and Run for Rust
      • Go to definition through control/command-mouse click
      • Minor improvements of rename, go to usage, hover and completion
      • Added support for textDocument/rangeFormatting
      • Fixed potential crash on hover
    • Fixed spellcheck error fault when ending a string with '
    • Fixed crash on MacOS by disabling drag-and-drop in directories view
  • v1.4.0
    03ca2fd4 · v1.4.0 ·
    Release v1.4.0

    New features:

    • Can now use go to declaration, implementation and find documentation on autocomplete rows
    • Added go to type declaration
    • CUDA files are now supported and parsed as C++
    • Find Documentation for std:: symbols improved through a symbol map to cppreference.com pages
    • Added language server protocol support. To enable this feature, add a symbolic link ([language-identifier]-language-server), in one of your PATH folders, that points to your installed language server executable. For instance, to enable Rust language server:
      ln -s ~/.rustup/toolchains/[nightly-toolchain]/bin/rls ~/.cargo/bin/rust-language-server
    • Added project and debug support for Rust

    Cleanups, bugfixes and other improvements:

    • Modernized cmake files
    • Fixed freeze when debugging start failed
    • CMake and Meson parsing now works on files with Windows newlines
    • Various improvements to implement method
    • No longer clears selection of terminal when modifier keys are used while a process is running
    • All headers should now be considered when finding usages of an overridden method
  • v1.3.2
    e83ef578 · Version 1.3.2 ·
    Release v1.3.2

    Various bug fixes:

    • Backspace now works at the start of source buffers after spaces or tabs
    • Core dumps at exit when using older glibmm versions have been fixed
    • Additional search path to style scheme paths are now added only once
    • Exit instructions now also runs when juCi++ is closed by the desktop environment
    • Now only updates directory paths that are shown in the directory view. This fixes a crash that could happen after creating a new C/C++ project on some systems.

    Minor improvement:

    • Further cleanup of debug events
  • v1.3.1
    de385887 · Version 1.3.1 ·
    Release v1.3.1

    New features:

    • Function parameter completion that shows possible arguments
    • Autocomplete now show completions after global namespace ::
    • Right margin line can be turned on in preferences

    Improvements and cleanups:

    • Debug event handler cleanups
    • Optimisations to autocomplete
    • Fixes to markdown style formatting
    • Fixed crash when two processes wrote to the same cache file
    • Improved search for clang-format and lldb-server executables ending with version strings
  • v1.3.0
    4200e489 · v1.3.0 ·
    Release v1.3.0

    New features:

    • Go to Usage and Rename fully implemented:
      • Now checks and parses unopened files
      • Files are reparsed if needed
      • Parse result is cached and stored in the build directory
      • Added listing of renamed symbols
      • Various improvements to similar symbol checks
    • Added style formatting for Markdown
    • Implemented environment parsing on string set in Debug Set Run Parameters
    • Added shift+enter shortcut that equals: go to end of line, and enter

    Improvements:

    • Autocomplete cleanup making it easier to implement autocomplete for other languages
    • Spellcheck error fixes
    • Go to Method dialog rows are now more readable
    • Fixed indentation after source code that ends with a comment
    • Terminal links cleanup, and added links for a assert error messages
    • Fixed crash when opening bare git repository
    • Added various workarounds gtk+ crashes on MacOS
  • v1.2.5
    af2504bc · v1.2.5 ·
    Release v1.2.5

    New features:

    • Find File
    • Preference option source.format_style_on_save_if_style_file_found

    Improvements:

    • Fixed segmentation fault when running debug command on newer liblldb
    • Icon now set in MacOS
    • Improved executable search in cmake projects
    • Improved symbol count, spellcheck, and indentation
    • Fixed go to header on Arch Linux/Manjaro
    • Removed -Wno-unused-parameter from new c++ projects
    • Various cleanups
  • v1.2.4
    f1b57c71 · Version 1.2.4 ·
    Release v1.2.4

    Added features:

    • goto declaration/implementation through control/command-left mouse clicks
    • can now use Go to Declaration on include directive to jump to included file
    • fullscreen and tab visibility toggle
    • can now disable interactive completion by setting completion keybinding

    Minor bugfixes and improvements:

    • should now fully support symbolic links
    • fixed directory/file sorting in directory view on some specific locales
    • fixed incorrect spellcheck error after pressing enter for some programming languages
    • block comment key events will no longer trigger inside a string
  • v1.2.3
    dc7be5c6 · Version 1.2.3 ·
    Release v1.2.3

    Notable improvements and additions:

    • Added support for the Meson Build System
    • Improved search for executables in cmake projects
    • Significantly improved parsing speed of C/C++ header files with manual include guards
    • Added support for C++ operators
    • Much improved right-click menu
    • Implemented menu item Source.Comments.Add Documentation
    • Colour improvements to dark juci styles
    • Processing speed improvements of format style through clang-format. Can now also format selected text only
    • Improvements in editing files with CR+LF endings
    • Added icon created by @adobrich
  • v1.2.2
    27a0b6bf · Version 1.2.2 ·
    Release v1.2.2
    • FreeBSD supported
    • Window GUI changed slightly in preparation for additional debug information
    • Implement method and goto method also includes regular functions
    • Added New Project->C to File menu
    • Added Toggle Comments for various languages to Source menu
    • Added Clear Terminal to Window menu
    • Added Recreate Build to Project menu
    • Can now toggle breakpoints with mouse clicks
    • Added move up/down paragraphs through control-up/down
    • Added smart_brackets and smart_inserts to preferences
    • Improved status bar at bottom, showing file path and branch
    • Added format_style_on_save to preferences
    • Added Cursor History to Source menu
    • Added Reload File to File menu
    • Various cleanups and improvements
  • v1.2.1
    ad568f73 · Version 1.2.1 ·
    Release v1.2.1
    • Using clang-format no longer change the scroll position of the source window
    • Added find symbol through Ctags
    • Improved go to implementation with Ctags fallback
    • Improved go to declaration
    • Various cleanups related to moving juCi++ source to c++14, and oldest distribution supported is now Debian stable
    • Improved Debug show variables
    • Can now set breakpoints while debug build is compiling
    • MSYS2: system includes should now be passed correctly to libclang
    • libclangmm cleanup
  • v1.2.0
    5b6a81ca · Changed version to 1.2.0 ·
    Release v1.2.0

    Major new features:

    • Go to implementation
    • Clickable warning/error links in terminal
    • Split window
    • Remote debugging
    • Git integration in both directory and source views
    • Implement method

    Other notable improvements:

    • Various cleanups, optimisations and smaller bug fixes
    • Various new options in preferences
    • Added Doxygen file
    • Asynchronous diagnostic retrieval
    • Added tests
    • Autocomplete fixes to common stream operators
    • Improved ninja support
    • Added continuous integration through Travis CI and AppVeyor
    • Added info messages
    • Improved rename refactoring of class names and its constructors/destructor
    • Improved Wayland support
    • Close tab with middle mouse click
    • lldb supported on Arch Linux
  • v1.1.3
    b142ee6a · Version 1.1.3 ·
    Release v1.1.3

    Minor changes and cleanup:

    • replaced mutex::lock/unlock calls with unique_lock
    • improved javascript support
    • added extra warning flags
    • slightly improved new C++ project
    • improved ninja support: relative include paths in compile_commands.json now works
    • fixed system theme support, and default theme now set to system theme
    • more responsive directories view when working with large folders

    New features:

    • directories view right click menu: added new file/folder
    • added source printing/exporting to pdf
  • v1.1.2
    9eb883b4 · Version set to 1.1.2 ·
    Release v1.1.2

    Various bug fixes and cleanups, most notably:

    • Project and build cleanup making it easier to support other build management systems than CMake.
    • Auto indentation through clang-format supports other languages like C#, JavaScript, TypeScript and Java. Indentation while writing has also been improved for these languages.
    • Fixed auto-complete after non-ascii characters
    • Added workaround for TextView::on_key_press_event that sometimes caused segmentation fault, at least on OS X
    • More robust scroll to cursor method that previously could lead to segmentation fault
    • Improved project path search for CMake
    • Made it possible to deprecate preference nodes

    New features:

    • In directory view, added drag-and-drop move, and right-click menu for rename and delete
    • Find/Replace box improved
    • Now reopens last folder and files when starting juci without parameters
    • Terminal font is now monospace, and added preferences option to change the font
    • Terminal now clears before compiling, and added option to turn this on/off in preferences
    • Improved debug tooltips
    • Added file path tooltips to tabs