AnP

Comandos

Se entiende como comandos, en este caso, como órdenes y/o instrucciones que se le pueden dar a la aplicación AnP lanzada, de esta forma poder interactuar en con éste en caliente.

Los comandos que se pueden ejecutar en AnP van orientados a fines distintos, dependiendo de a qué hacemos referencia. Para entender el funcionamiento general de los comandos de AnP, nos encontramos que éstos se basan en el funcionamiento JSON principalmente, donde tenemos dos conjuntos de entradas distintos principales:

El orden de los parámetros sí afecta a lo que se quiere ordenar; mientras que los atributos, al basarse en claves no ordenadas, no afecta en absoluto.

De primeras, todo valor dado se identifica como un simple String y son los propios espacios en blanco, tabuladores y/o saltos de línea los que irán separando los distintos valores. Cuando queremos que un parámetro o atributo tenga espacios éste ha de ir encapsulado entre comillas simples o dobles, independientemente, para indicar al intérprete que se está dando un parámetro o atributo complejo y que busque el cierre de comilla. Las comillas se pueden escapar mediante el Slash, lo mismo que el propio Slash puede escaparse a sí mismo. Se entiende que cualquier Slash dentro de un parámetro o atributo encapsulado entre comillas será un caracter escapado.

Para identificar un elemento de diccionario simplemente hemos de poner una clave la cual sea un String que sólo puede contener dígitos, cualquier letra del alfabeto inglés y guiones bajos; todo ello acompañado, sin espacios, de un signo igual que lo separe del contenido al que se quiere que haga referencia. El contenido, si no se le especifica éste será un String vacío.

Los comandos se basan en un método o función a ejecutar a partir de un mapeado que estructura y define dichos comandos. El trabajo con dichos métodos o funciones se basa en llamarlos enviándoles, en este orden, los parámetros y luego los atributos, tal como se representa a continuación:

command_method
voidglobalpubliccommand_methodNullishArray<Any|null>parametersnullNullishDictionary<String, Any|null>attributesnullnull
NameRequiredNullableTypedDefault Value
parametersFalseTrueArray<Any|null>null
attributesFalseTrueDictionary<String, Any|null>null
NameRequiredNullableTypedDefault Value

Por otro lado, tenemos los atributos para órdenes especiales, los cuales se identifican por ser iniciados por uno o dos guiones medios en su nombre o clave. Esto permite hacer ejecución de un segundo método o función asignado al comando para disgregar funciones, acciones, etc. Dentro del mismo comando u orden.

Añadir

Para añadir comandos hemos de hacer uso del método anp.terminarl.add el cual nos permite añadir, e incluso sobreescribir si dicho comando ya existe, a la lista de comandos generales del propio AnP. La sintaxis para añadir comandos se basa en JSON y viene siendo un diccionario cuya llave implica el como nombrar a ese comando a la hora de ser escrito en la Terminal o Consola de COMANDOS cuyo valor es otro diccionario anidado con las siguientes claves de entrada:

La definición de entrada de parámetros, pese a que no afecte propiamente a la ejecución ni introducción de parámetros ni atributos dentro del comando, éste se especifica con el fin de poder autogestionar la ayuda mediante la I18N y el propio comando help. Dicho comportamiento se especifica de forma más profunda en la definición del propio comando help que vendrá más adelante.

Las entradas que se le pueden dar al método anp.terminarl.add pueden ser un Arrays, Diccionarios y/o Strings donde los Diccionarios han de cumplir con lo establecido anteriormente; los Strings pueden ser ficheros JSON o datos JSON con Arrays, Strings y/o Diccionario con las mismas normas.

echo

El comando echo es un comando principalmente de prueba, basado en el propio comando echo de Terminal o COMANDOS para probar que realmente funcionen de una forma adecuada. Dicho comando simplemente imprime por la Terminal o Consola de COMANDOS lo que le acompañe.

  • typesh
  • characters34
  • lines2
echo hola
echo "Hola. ¿Qué tal?"
Si ponemos más de un parámetro, ya sea por no haber controlado el grupo con comillas, o por poner más de un elemento de parámetro, así como intentar hacer uso de diccionarios, sólo se interpretará el primer parámetro, el resto se ignorará.
  • typesh
  • characters177
  • lines10
> echo Hola. ¿Qué tal?
Hola.
> echo "Hola. ¿Qué tal?"
Hola. ¿Qué tal?
> echo saludo="Hola. ¿Qué tal?" despedida=Adiós

> echo "Hola. ¿Qué tal?" "Adiós"
Hola. ¿Qué tal?
> echo

close

El comando close, también nombrado como bye o exit, nos permite cerrar la aplicación AnP de forma controlada.

  • typesh
  • characters5
  • lines1
bye
! Se aconseja el uso de bye y/o close y no de exit por el hecho de que éste último puede chocar con el propio comando exit de la Terminal o Consola de COMANDOS.

help

El comando help, también nombrado como h o ?, nos permite acceder a la ayuda referente a la configuración actual de AnP. Dicha ayuda viene siendo como un manual para poderse guiar desde la propia terminal con los distintos comandos que nos encontramos.

La ayuda también puede ser solicitada desde otros comandos a partir de la estructura de llamamiento espcial con el mismo nombre. Por tanto, la forma de llamadas del comando help serían las siguientes a nivel de ejemplo:

list

El comando list, también nombrado como l, nos permite acceder a la lista de aplicaciones que tenemos registradas en nuestra aplicación AnP.

update

El comando update, también nombrado como u, nos permite actualizar partes de nuestra aplicación AnP o de aplicaciones registradas dentro de AnP concretamente, todo ello en caliente.

create

El comando create, también nombrado como c, nos permite crear una nueva aplicación y adjuntarla en caliente a la lista de aplicaciones de anP. Para poder llevar a cabo dicha acción, se requiere de especificar el nombre de la aplicación y el Path donde se quiere que se cree. Requiere de los siguientes parámetros:

  1. Nombre de la aplicación.
  2. Path absoluto donde meter dicha aplicación.
  3. Características de lenguajes que se quieren agregar.

Si la aplicación ya existe, éste complementará la aplicación con las características que se le den. Dichas características son:

Estos atributos se cuentan a partir del tercer parámetro dado al comando. Se le puede mandar en un único parámetro, un conjunto estructural a partir de los siguientes caracteres:

Sólo se interpretará el conjunto si sólo se le da un único parámetro.
Es importante señalar que el Path que se le dé es donde se instalará el directorio con el nombre del proyecto que se le dé, es decir, el Path sólo es la ruta donde crear el directorio de proyecto y el mismo dentro de éste.
Actualmente sólo están implementadas las estructuras de CSS, SCSS/SASS, ECMAScript/JavaScript, SQL Server y Python. este es el motivo por el cual salen tachadas muchas de estas opciones. La idea es ir implementándolas cara el futuro. También es importante contar que esta parte está en pleno desarrollo por lo que es fácil que la funcionalidad no esté completamente desarrollada o funcione de una forma probada y esperada.

Por otro lado, podemos ampliar los atributos de entrada con atributos como los siguientes:

Ejemplos
  • typesh
  • characters39
  • lines1
create Test /PATH/ABSOLUTO python web

Crea una una aplicación llamada Test en el Path /PATH/ABSOLUTO/Test cuyo servidor es Python y sólo es Web. Un equialente simplificado de este proyecto sería el siguiente:

  • typesh
  • characters26
  • lines1
c Test /PATH/ABSOLUTO wy
  • typesh
  • characters83
  • lines1
c Test /media/kyman/SSD2TB/git wy git=https://git.k3y.pw/KyMAN/Test authors=KyMAN

Este comando crear el mismo proyecto que los anteriores per determinando el Git y la autoría de KyMAN para que éstos rellenen los Links y licencias correspondientes.