/*
*               dotfiles - search.ts
*
*   Created by Janis Hutz 03/22/2025, Licensed under the GPL V3 License
*           https://janishutz.com, development@janishutz.com
*
*
*/

import subprocessRunner from "./subprocessRunner";
import fzf from "./fzf";

const preprocess = ( input: string ) => {
    // Find out what kind of instruction to process
    if ( input.startsWith( ':' ) ) {
        processCommand( input.substring( 1, input.indexOf( ' ' ) ), input.substring( input.indexOf( ' ' ) ).split( ' ' ) );
    } else if ( input.startsWith( '!' ) ) {
        processBang( input.substring( 1, input.indexOf( ' ' ) ), input.substring( input.indexOf( ' ' ) ) );
    } else {
        // Determine if entered string is calculation or not
        // We can easily do that by asking qalc (qalculate cli) if this is fine
        subprocessRunner.executeCommand( 'qalc "' + input + '"' ).then( out => {
            // we get a calculation result here
            print( out );
            processCalculation( out );
        } ).catch( err => {
            processSearch( input );
            print( err );
        } );
    }
}

const processSearch = ( input: string ) => {

}

const processCalculation = ( output: string ) => {

}

const processCommand = ( cmd: string, args: string[] ) => {

}

const processBang = ( bang: string, input: string ) => {

}

export default {
    preprocess
}
