Auto complete isn't displaying matching functions in active file defined below the caret on IntelliTips not used (fixed)

Auto complete isn't displaying matching functions in active file defined below the caret on IntelliTips not used (fixed)

5
NewbieNewbie
5

    Jun 13, 2021#1

    Why does the auto complete feature only work sometimes?
    Is it not supposed that a user can always auto complete any input text with all the functions available?

    It seems that only when the user is at the end of the file the user can access all the functions listed. I mean if the caret is at the beginning of the file, the auto completion window does not list any function. Why?

    6,688587
    Grand MasterGrand Master
    6,688587

      Jun 13, 2021#2

      Your questions cannot be answered without knowing the version of used UltraEdit and the configuration settings for Auto-complete and IntelliTips which determine the list of strings in the auto-completion window.

      Please see the topic Auto-complete options filter.

      I want to add two facts found out by me on writing the reply on the referenced topic regarding to UltraEdit for Windows help page with title Auto Completion and the UltraEdit Wiki page Auto completion:
      1. IntelliTips keywords is missing on help page respectively the information only available in UEStudio is not correct anymore since UltraEdit for Windows v28.00.
      2. The statement "editor will scan backwards from the current caret location up to 50 KB of data" is also not correct anymore on help and on Wiki page because of UltraEdit searches backwards up to 100.000 bytes for words which means 100.000 characters in an ANSI encoded file, 50.000 characters in a UTF-16 encoded file and a not predictable number of characters in a UTF-8 encoded file.
      The auto-completion window is not shown if none of the strings in the database used for automatically or for manually shown auto-completion window starts with the word characters already entered. For a syntax highlighted file the characters on line /Delimiters = determine what is a non-word character delimiting a series of characters being interpreted as a word.
      Best regards from an UC/UE/UES for Windows user from Austria

      5
      NewbieNewbie
      5

        Jun 18, 2021#3

        Hi!

        I use at the moment UltraEdit for Windows v28.00.0.34.

        This is the point: "editor will scan backwards from the current caret location up to..."
        I want to know how to make editor scan backward and forward not just backwards.

          Jun 18, 2021#4

          From https://www.ultraedit.com/wiki/Auto_completion :

          4. Functions in the file
          Any functions in the active file shown in the function list will be shown in the auto-complete dialog, regardless of where those functions exist in the file.

          That is not true. Only shows functions on the function list that are backwards from the current caret location. That's the problem.
          auto-complete_configuration.png (23.35KiB)
          Auto-complete miscellaneous configuration
          function_tips_configuration.png (22.12KiB)
          IntelliTips function tips configuration

          6,688587
          Grand MasterGrand Master
          6,688587

            Jun 19, 2021#5

            The strings for the Function List are always searched in the entire file. Please click on ribbon tab Layout in second ribbon group Views on the check box item Function list or press key F8. Then you can see which strings are found in active file (or all files of a project on enabling in context menu of this view the option List for all project files and having opened a project) for the Function List view and for auto-complete.

            The IntelliTips parser does not support all existing programming and scripting languages. So if the IntelliTips parser does not support the language in active file, the customizable function regular expression strings as defined in the syntax highlighting wordfile applied on active file are used to find the strings in active file to show in the  Function List view and in auto-completion window.

            Please note that the IntelliTips parser must be configured to parse also files not being a project file on not using a project. The IntelliTips parser can be configured at Advanced - Settings or Configuration - Auto-complete - IntelliTips - Parser with the setting Parse non-project files and other settings.

            The feature to search backwards for any word for auto-completion window is language independent. It really searches for any word independent of the language. This means, for example, for a C source code file to search also for words in strings and comments and to suggest them all independent on meaning of this word for the C compiler and where the caret is currently set in the C source code file.
            Best regards from an UC/UE/UES for Windows user from Austria

            5
            NewbieNewbie
            5

              Jun 19, 2021#6

              Well I think you need to try calling a function that is at the end of the function list being on the first line of the code. UltraEdit version 27.xx works while UltraEdit version 28.00 doesn't work. Somebody of your development team make that mistake on v28.00 when you change the auto complete feature.
              Auto complete only see functions backwards on using version 28.00. On the other hand UltraEdit for Windows v27.xx is fine and works with functions on any place of the code. This is NOT related to settings or IntelliTips or anything else. It is a bug.
              This is just a bug report, I spend time testing it before telling you this, so why do you not try by yourself and see if I'm right or not?

              6,688587
              Grand MasterGrand Master
              6,688587

                Jun 20, 2021#7

                I have the impression that you think you are communicating here with somebody from IDM Computer Solutions, Inc. That is not the case. Please read the statement at top of every page of the user to user forums. I am just a user of UltraEdit like you and not an employee of IDM Computer Solutions, Inc. You have to send an email to IDM support for reporting a bug or use the technical support form.

                I looked once again on the auto-completion issue and I could reproduce the issue after a few minutes and some changes in configuration.

                The matching functions are listed in the auto-completion window if the IntelliTips parser parsed the file on open or last save, found the function and added it as symbol to the symbols database. For non-project files the setting Parse non-project files must be enabled at Advanced - Settings or Configuration - Auto-complete - IntelliTips - Parser and of course the file must have a file extension and contain code in a language recognized by IntelliTips. The file extensions can be configured at Advanced - Settings or Configuration - Auto-complete - IntelliTips - File types. The setting IntelliTips suggestions must be checked at Advanced - Settings or Configuration - Auto-complete - Miscellaneous on auto-completion window is opened automatically after typing the number of characters as configured. The matching functions found by IntelliTips parser are always displayed on opening the auto-completion window manually with Ctrl+Space.

                The setting Use function tips data (if available) for function list does not matter for function strings in auto-completion window. It controls only what is displayed in the Function List view – the functions as found by the IntelliTips parser or the strings found by the regular expressions in applied syntax highlighting wordfile.

                The issue with the missing matching functions in active file in auto-completion window depending on caret position occurs with IntelliTips parser not used for active file because of being disabled for non-project files or the active file has a file extension not recognized by the IntelliTips parser or the active file does not contain a supported language, i.e. there is no symbol database from IntelliTips parser for the active file. In this case the strings displayed in the Function List view are those found with the regular expression search strings in the associated syntax highlighting wordfile. The auto-completion feature should use the function strings as found with the regular expressions in this use case, but that is not done. This is definitely an incorrect behavior according to the description of the auto-complete feature.

                I have reported with an email to IDM support the incorrect behavior of ignoring the function strings found by the regular expressions in the associated wordfile for auto-completion on no IntelliTips symbol database available for active file as found out today on a C source code file which is usually part of a project. I strongly recommend to do the same because of the priority for fixing an issue increases the more users report the issue.

                  Jul 03, 2021#8

                  The issue is fixed with UltraEdit for Windows v28.10.0.98 released 2021-07-01.

                  The configuration setting auto-complete text must be checked to see function names found with the regular expressions in the associated syntax highlighting wordfile in the auto-completion window opened automatically after typing X chars. The function strings are always included in the auto-completion window opened manually on pressing Ctrl+Space which is the default key assignment for command Auto-complete.
                  Best regards from an UC/UE/UES for Windows user from Austria