Uploaded image for project: 'Karaf'
  1. Karaf
  2. KARAF-3055

tabbing in subshell displays more than commands of the current subshell

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.0.1
    • Fix Version/s: 3.0.2, 4.0.0.M2, 4.0.0.M3
    • Component/s: karaf
    • Labels:
      None

      Description

      According to subshell release note, if the complete mode is set to either 'FIRST' or 'SUBSHELL' and you type the TAB key when you are in a subshell, the completion will display only the commands of the current subshell.

      I have two subshells, auth and auth-ldap. Each has different commands.

      auth:show
      auth-ldap:update
      auth-ldap:delete

      The complete mode is set to 'FIRST'.

      When I am in subshell 'auth' and press tab, I expect to see only the 'show' command. However, 'show', 'delete' and 'update' are displayed in the 'auth' subshell.

      CAUSE
      After looking into the source code of karaf 3.0.1, there is a bug in method 'complete' in 'org.apache.karaf.shell.console.completer.CommandsCompleter'. If the key of a completer starts with the current subshell name, the completer will be added to the matching completer list. For my case, the current subshell name 'auth' partially matches the keys, "auth-ldap:update" and "auth-ldap:delete" , of completers and incorrect commands,"update" and "delete" are displayed in "auth" subshell.

        Attachments

          Activity

            People

            • Assignee:
              jbonofre Jean-Baptiste Onofré
              Reporter:
              binaryatwork Rebecca Chan
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: