28 de febrero de 2014

NotePad++ (NotePad plus) y Visual FoxPro

"VISUAL FOXPRO" EN NOTEPAD++

NotePad++ permite que el usuario defina las características de coloreado y envoltura para un lenguaje no definido de forma nativa, en este articulo proporciono una configuración "sugerida" para el leguaje de "Visual FoxPro".

Notepad++ es un editor de texto GPL con soporte para varios lenguajes de programación que incluye opciones avanzadas para desarrolladores.

Este editor incluye características como coloreado y envoltura de sintaxis, pestañas, resaltado de paréntesis e indentación, grabación y reproducción de macros y soporte de extensiones.

Entre los lenguajes de programación que soporta están Ada, ASP, ASM Ensamblador (x86), ASM Ensamblador (Z80), AutoIt, Batch, C, C#, C++, Caml, CMake, COBOL, CSS, D, Diff, Flash ActionScript, Fortran, Gui4Cli, Haskell, HTML, INNO, Java, JavaScript, JSP, KiXtart, Lisp, Lua, Makefile, MATLAB, MS INI (archivo), NSIS, Objective-C, Pascal, Perl, PHP, PostScript, PowerShell, Properties, Python, R, RC (fichero de recurso), Ruby, Shell, Scheme, Smalltalk , SQL, Tcl, TeX, VB, VHDL, Verilog, XML, YAML.

Lamentablemente de forma nativa no incluye "Visual FoxPro", sin embargo se puede personalizar de tal forma que soporte el lenguaje, a continuación se explica como hacerlo.

INSTALE NOTEPAD++

Ingrese a la pagina del creador http://notepad-plus-plus.org, descargue e instale la ultima versión.

"VISUAL FOXPRO" EN NOTEPAD++

NotePad++ permite que el usuario defina las características de coloreado y envoltura para un lenguaje no definido de forma nativa, en este articulo proporciono una configuración "sugerida" para el leguaje de "Visual FoxPro".

Descargue los archivos

Definicion de Visual FoxPro (UDL)
Opcionales
Funciones/Procedimientos en programa (functionList.xml)
NotePad como editor oredeterminado de programas VFP (defaultnotpadeditvfpprg.reg)
Definir el lenguaje
  1. Ingrese a "NotePadd++"
  2. En el menú principal ingrese a "Lenguaje -> Definir idioma"
  3. En la ventana que desplegada presione el botón "Importar.." y seleccione el archivo "userDefineLang-VisualFoxPro-Jgoh.xml" en la ubicación en donde se descargo
Con estos pasos ya se definió el lenguaje y cada uno de sus atributos. Cierre NotePad++ para asegurar que tome el nuevo lenguaje.

Lista de funciones

NotePad tiene la opción "Lista de funciones" (En el menú principal ingrese a "Vista -> Lista de funciones") la cual es útil cuando se abre un programa que contiene definiciones de Funciones o Procedimientos. Sin embargo como NotePad++ de forma nativa no tiene soporte para VFP es necesario agregar la configuración para dicha característica
  1. Ingrese al directorio %APPDATA%\notepad++\
  2. Edite el archivo functionList.xml con NotePad++
  3. En la sección <associationMap> adicione la siguiente linea al final:
    <association userDefinedLangName="Visual FoxPro" id="vfp_syntax"/>
  4. En la sección <parsers> adicione al final:
  5.    <parser id="vfp_syntax" displayName="VFP Classes & Functions" commentExpr="(t*!*)">
        <classRange
         mainExpr="^[t ]*((define class)[s]+)[w:]+[s]+as[s]+([w:]+)"
         closeSymbole = "^[t ]*enddefine"
         displayMode="node">
         <className>
          <nameExpr expr="[w:]+[s]+as[s]+([w:]+)"/>
         </className>
         <function
          mainExpr="^[t ]*((procedure|proc|function|func)[s]+)[w:]+[s]*[ (,)w]*">
          <functionName>
           <funcNameExpr expr="((procedure|proc|function|func)[s]+)[w:]+[s]*[ (,)w]*"/>
           <funcNameExpr expr="[s]+[w:]+[s]*[ (,)w]*"/>
           <funcNameExpr expr="[w:]+[s]*[ (,)w]*"/>
          </functionName>
         </function>
        </classRange>
    
        <function
         mainExpr="^[t ]*((procedure|proc|function|func)[s]+)[w:]+[s]*[ (,)w]*"
         displayMode="$functionName">
         <functionName>
          <funcNameExpr expr="((procedure|proc|function|func)[s]+)[w:]+[s]*[ (,)w]*"/>
          <funcNameExpr expr="[s]+[w:]+[s]*[ (,)w]*"/>
          <funcNameExpr expr="[w:]+[s]*[ (,)w]*"/>
         </functionName>
        </function>
       </parser>
    
Guarde el archivo.

NOTA: Si lo desea puede remplazar el archivo local functionList.xml por el que descargo

NotePad++ como editor predeterminado de programas desde Visual FoxPro

Usted puede predeterminar como editor de programas (*.prg) a NotePad desde la interfaz de FoxPro, para eso debemos crear el registro de windows la siguiente entrada
[HKEY_CURRENT_USER\Software\Microsoft\VisualFoxPro\9.0\Options]
"TEDIT"="/N C:\Program Files (x86)\Notepad++\notepad++.exe"
NOTA: Si lo desea puede combinar el archivo defaultnotpadeditvfpprg.reg a su registro de windows presionando el botón derecho del ratón sobre el y seleccionando la opción "Combinar". recuerde que debe editar el archivo y cambiar la ruta del programa dependiendo de donde instalo NotePad.

SCREENSHOT


FUENTES
Jose Guillermo Ortiz Hernandez