Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
   * with the License.  You may obtain a copy of the License at
   * 
  *   http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.    
  */
 
 package org.apache.tuscany.sca.shell.jline;
 
 import java.io.File;
 import java.util.List;
 
 import  jline.FileNameCompletor;
 
A Completor for the install command. The command format is: install [<uri>] <contributionURL> [-start] [-metadata <url>] [-duris <uri,uri,...>] TODO: doesn't seem to complete the -xxx parameters properly yet
 
 public class InstallCompletor extends FileNameCompletor {
 
     
     public InstallCompletor(Shell shell) {
          = new ICURICompletor(shell);
     }
 
     public int complete(final String buffinal int cursor,
                         final List candidates) {
 
 //        System.err.println("buf:" + buf);
 //        System.err.println("candidates:" + candidates);
 
         if ("-duris".equals(.)) {
             return .complete(bufcursorcandidates);
         }
         if ("-metadata".equals(.)) {
             return super.complete(bufcursorcandidates);
         }
         
         return super.complete(bufcursorcandidates);
     }
     
     @Override
     public int matchFiles(String bufferString translatedFile[] entries,
                           List candidates) {
         if (entries == null) {
             return -1;
         }
 
         int matches = 0;
 
         // first pass: just count the matches
         for (int i = 0; i < entries.lengthi++) {
             if (entries[i].getAbsolutePath().startsWith(translated)) {
                 matches++;
             }
         }
         if ("-metadata".startsWith(buffer)) {
             matches++;
         }
         if ("-duris".startsWith(buffer)) {
             matches++;
         }
         if ("-start".startsWith(buffer)) {
             matches++;
         }
 
         // green - executable
         // blue - directory
         // red - compressed
         // cyan - symlink
         for (int i = 0; i < entries.lengthi++) {
             if (entries[i].getAbsolutePath().startsWith(translated)) {
                 String name =
                     entries[i].getName()
                     + (((matches == 1) && entries[i].isDirectory())
                        ? . : " ");
 
                 /*
                 if (entries [i].isDirectory ())
                 {
                         name = new ANSIBuffer ().blue (name).toString ();
                }
                */
                candidates.add(name);
            }
        }
        if ("-metadata".startsWith(buffer) && !..contains("-metadata")) {
            candidates.add("-metadata" + (matches == 1 ? " " : ""));
        }
        if ("-duris".startsWith(buffer) && !..contains("-duris")) {
            candidates.add("-duris" + (matches == 1 ? " " : ""));
        }
        if ("-start".startsWith(buffer) && !..contains("-start")) {
            candidates.add("-start" + (matches == 1 ? " " : ""));
        }
        final int index = buffer.lastIndexOf(.);
        int xindex + ..length();
//        System.out.println("x="+x);
        return x;
//        return index + File.separator.length();
    }
New to GrepCode? Check out our FAQ X