@@ -12,14 +12,20 @@ import {
1212 repoManagement ,
1313 makeType ,
1414 getValue ,
15- getType
15+ getType ,
16+ getHistory ,
17+ setHistory
1618} from "./helpers.js" ;
1719
1820import { getLocalStorage } from "./localstorage.js" ;
21+ import SuggestResult = chrome . omnibox . SuggestResult ;
1922
2023export async function main ( ) {
21- // @ts -ignore
2224 chrome . omnibox . onInputEntered . addListener ( async ( text , OnInputEnteredDisposition ) => {
25+ if ( chrome . runtime . lastError ) {
26+ console . warn ( "Whoops.. " + chrome . runtime . lastError . message ) ;
27+ }
28+
2329 const query = text . split ( " " ) ;
2430 if ( query [ 0 ] === "set" ) {
2531 await setCalled ( query ) ;
@@ -29,9 +35,37 @@ export async function main() {
2935 let resp = await repoManagement ( query ) ;
3036 console . log ( resp ) ;
3137 } else {
32- const flightPlans = await getFlightPlans ( ) ;
33- const flight = await getFlightFromQuery ( query , flightPlans ) ;
34- await handleFlight ( flight , flightPlans ) ;
38+ const history = await getHistory ( query ) ;
39+ setHistory ( history ) . then ( async ( ) => {
40+ const flightPlans = await getFlightPlans ( ) ;
41+ const flight = await getFlightFromQuery ( query , flightPlans ) ;
42+ await handleFlight ( flight , flightPlans ) ;
43+ } ) ;
44+ }
45+ } ) ;
46+
47+ chrome . omnibox . onInputChanged . addListener ( async ( text , suggest ) => {
48+ if ( chrome . runtime . lastError ) {
49+ console . warn ( "Whoops.. " + chrome . runtime . lastError . message ) ;
50+ }
51+ const query = text . split ( " " ) ;
52+ if ( ! [ "set" , "unset" , "repo" ] . includes ( query [ 0 ] ) ) {
53+ const history = await getHistory ( [ ] ) ;
54+ const initialSuggestions = history . map ( ( item : string ) => {
55+ if ( item !== "" && item . toLowerCase ( ) . includes ( text . toLowerCase ( ) ) ) {
56+ return {
57+ content : item ,
58+ description : item
59+ } ;
60+ }
61+ } ) ;
62+ const filtered = initialSuggestions . filter ( function ( x : any ) {
63+ return x !== undefined ;
64+ } ) as SuggestResult [ ] ;
65+
66+ if ( filtered . length > 0 ) {
67+ suggest ( filtered ) ;
68+ }
3569 }
3670 } ) ;
3771}
0 commit comments