FarCtags

Announcements of new plug-ins. Plug-ins are discussed in a forum below.
Post Reply
pepak
Posts: 534
Joined: Sun 13 Jul, 2008 11:18
Has thanked: 15 times
Been thanked: 47 times

FarCtags

Post by pepak »

This is a source code navigation plugin based on Ctags. According to Wikipedia (2017-07-28):
Wikipedia wrote:Ctags is a programming tool that generates an index (or tag) file of names found in source and header files of various programming languages. Depending on the language, functions, variables, class members, macros and so on may be indexed. These tags allow definitions to be quickly and easily located by a text editor or other utility.
This plugin uses a Ctags utility (which must be provided by the user) to locate names in the current editor and provide means for quickly navigating to a selected name.

Usage

Before you can use this plugin, you need to install Ctags. Any standard implementation should work, e.g. the plugin was tested with both Exuberant Tags and Universal Ctags and worked fine. Ctags may be installed either in a regular fashion with ctags.exe available in the PATH, or you can copy the necessary executables to the ctags subdirectory of the plugin; in this scenario the Ctags support is "portable", as in, it doesn't need any installation and if you need to use your specific .ctags file, you can store it in the same directory.

When Ctags is available, simply press F11 in an editor and select FAR Ctags from the menu of plugins. If any names were found, a list will appear; here you can start searching the names by typing into the search window, or you can navigate the names by pressing UP, DOWN, PAGEUP, PAGEDOWN (you don't need to activate the list first, these keys work even when the search window is focused). The list displays a line number, symbol name, symbol type. Under the list, a context information about the symbol is displayed (e.g. to let you distinguish between several overloaded variants of a function). The OK button will close the dialog and move the cursor to the selected name.

Screenshots




History
For the list of what's new, please read the following posts in the discussion thread.

Download:
Last edited by pepak on Sun 11 Oct, 2020 16:20, edited 3 times in total.
pepak
Posts: 534
Joined: Sun 13 Jul, 2008 11:18
Has thanked: 15 times
Been thanked: 47 times

FarCtags

Post by pepak »

Version 0.02
  • Search is performed within symbol names, not in the display text.
  • Much improved speed of scrolling in the listbox, particularly using PAGEUP/PAGEDOWN.
  • PAGEUP/PAGEDOWN were jumping too far within the listbox (the jump was slightly more than one page, whike the intended jump was one line less than one page).
pepak
Posts: 534
Joined: Sun 13 Jul, 2008 11:18
Has thanked: 15 times
Been thanked: 47 times

FarCtags

Post by pepak »

Version 0.03
  • If a selection is active when you open the plugin, it will constitute the initial content of the search editbox.
  • If no selection is active when you open the plugin, but the cursor is positioned on a word (numbers, letters, underscore, codes over 127) which can be found as an existing Ctag, that word is used as the initial content of the search editbox.
  • Fixed memory leak with the progress bar.
  • Rewritten the underlying Delphi implementation of FAR API significantly. Hopefully it didn't break anything. But it should make maintenance of my plugins or writing new ones much easier.
  • Support for building the plugin using Delphi versions up to 10.3 Rio.
pepak
Posts: 534
Joined: Sun 13 Jul, 2008 11:18
Has thanked: 15 times
Been thanked: 47 times

FarCtags

Post by pepak »

Version 0.04
  • Ctags.exe filename can now be specified in the plugin's options. If it is, it will take precedence over the file stored in the plugin's directory or the PATH-based file.
  • Filtering of the function list is no longer performed immediately after the user wrote a character in the search box; instead, a 300 ms delay is introduced, and only if the user didn't change the search box within this period is the search performed. The reason for this is that the filtering can take an appreciable time and it doesn't really make any sense of doing it if the user is about to type another character into the search box, invalidating the calculated filter. You can disable this functionality or change the delay in the plugin's options.
  • Added a very basic PluginCall support. Currently, it is only possible to execute the plugin in the same way as if you used F11 manually, but at least this way it is possible to assign a specific hotkey for the plugin (e.g. CTRL+G in the provided FarCtags.lua file).
  • More detailed error description in case ctags.exe returns an error.
  • Updated the plugin to a newer version of Dialog API. Among other things, this allows the plugin to properly react to resizing of the FAR's window.
  • Improved redraw of the displayed function's context: more efficient, less flickering, and the context is now shown in black rather than grey.
  • Minor fixes for compatibility with Delphi 10.1 and newer.
  • Fixed the incorrect version information shown in FAR's Plugin list.
Post Reply

Return to “Announcements of new Plug-Ins”