Is it possible to make UE work with relative ctags paths?

Is it possible to make UE work with relative ctags paths?


    Oct 14, 2005#1

    Does anyone know if there is a way to make UltraEdit open tags relative to the current project root? Currently, if the path in the tag file is relative, UltraEdit uses a path relative to it's installation directory.
    For example: c:\program files\ultraedit\path\to\file\here

    I have overcome this by creating the tag file with abolute paths, but that causes problems with the display of the tags within UltraEdit.


    Grand MasterGrand Master

      Oct 16, 2005#2

      UltraEdit uses a path relative to current working directory. The current working directory is first defined by the "Start In" option of the UltraEdit shortcut, if UltraEdit is started with the shortcut (*.lnk). (In your case it is set to the UltraEdit installation directory.)

      There are also 2 options in the general configuration page at section File Handling Items which specify the handling of the current working directory during editing files.

      Use default directory from shortcut on initial file open
      Use active file directory for file open dialog default

      So if you have activated the first of this two options and you have created a shortcut to uedit32.exe with the project directory as "Start In" directory, you can use ctags with relative paths right now.

      However the paths in the tag files are actually relative to the directory of the tag file, which could be identical to the project directory, but must not be identical.

      So I would suggest, you write a feature request e-mail to IDM and ask for support of UltraEdit/UEStudio for relative paths in tag files. Add my name to the feature request, because I now would like it, too. (I have not known til now, that relative paths are supported by ctags. And while testing it, I saw, that a tag file with relative paths is really better when UltraEdit is forced to open it's dialog for manually choosing the right symbol because the current symbol is defined more than once).

      I think, it would not be really difficult for the developers of IDM to implement it, because nothing must be changed on the user interface of UltraEdit/UEStudio. They only have to check, if the file name in the tag file is with an absolute path (second char is a : or the first 2 characters are \\) or not. If not, the path is relative to the directory of the tag file, which UltraEdit/UEStudio already knows and so the correct absolute path can be easily created, indepent of the current working directory.
      Best regards from an UC/UE/UES for Windows user from Austria

      Basic UserBasic User

        Mar 06, 2009#3

        On a similar note (NOTE: there is a question at the end, in red):

        I start all my projects either by double-clicking *.prj files or via dedicated shortcuts, to same files, with the global option "set default directory from shortcut on initial file open".
        I call all my "*.prj" files something like "_ue_FlyingPig.prj". So I've set global

        Tag File Options / Default Tagfile = .\_ue.local.tags

        and ctags.exe gets run on each UE startup, keeping these files up to date.
        My intent is to have one tag database per project, so that multiple projects can be opened at the same time without interference.
        The above works great as long as I have only one project per directory.
        With multiple projects per directory I have to setup individual ctag file names in the Projects Settings panel. One more thing to forget, if you ask me. So....:

        Is there some way of filling in "Default Tagfile" with a magic keyword (let's say, %pr.tags) so that the *.prj file name is used as the basis for tags filename?
        For example, project file "_ue_FlyingPig.prj" would end up creating and using local file "_ue_FlyingPig.tags".

        In the
        Tag File Options / CTAG Parameters =
        field, we can use "magic" strings %fi and %fo , but there is no list of other similar %xx items in the documentation that I could find.

        I'd appreciate any insight on this.
        Best regards,
        PS: win2k, latest UE32, GNU ctags 5.7+custom mods

        Grand MasterGrand Master

          Mar 07, 2009#4

          Okay, I understand. You want to save some seconds when setting up a new project by not entering a name for the project specific wordfile. And the tagfile name specification you would like would have also the advantage that you can forget to specify the project specific tagfile name and nevertheless would get a project specific tagfile in the directory of the project file. That's really a good idea. It would make the optional ctags file setting in the project settings dialog more or less useless.

          However, currently it is not possible what you want. There are only the variables %fi and %fo supported on the ctags command line. The name of the taglist file cannot include variables. The name of taglist file is important not only for the creation/update of the tags database with ctags, but also for UltraEdit which needs to search in this file when you use Find Symbol.

          %pr.tags as name for the default tagfile where %pr is replaced by UltraEdit with the name of the project file without extension, or with a fixed standard name if no project is open, would solve the problem and would make your smart method of handling project specific taglist files possible. Write a feature request email to IDM support. The idea with %pr as placeholder for the name of the project file without extension in the taglist file name is worth being suggested IDM.
          Best regards from an UC/UE/UES for Windows user from Austria