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

tabbing in subshell displays more than commands of the current subshell

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 3.0.1
    • 3.0.2, 4.0.0.M2, 4.0.0.M3
    • karaf
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: