NotePad++ x xDev Studio

Fórum sobre ferramentas de apoio à programação (Clipper/[x]Harbour)

Moderador: Moderadores

Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

NotePad++ x xDev Studio

Mensagem por Mario Mesquita »

Bom dia, amigos.

Uso o xDevStudio para editar meus programas, mas para poder usar a HMG 3.4.x Unicode, preciso converter os PRGs para UTF-8.

O NotePad faz isso e funcionou. Mas gostaria de usar um recurso que acho muito prático na xDev e no NotePad não está funcionando: A Lista de Funções.

Muito útil quando você tem várias funções no PRG ou no meu caso, vários módulos de programa em forma de função. No NotePad ele não coloca as funções na lista, talvez porque ele não tem nada compatível com xBase na sua lista de linguagens.

Como ativar esse recurso? Na xDev Studio aparentemente não converte os PRGs para UTF-8 então não posso mais usá-lo.

Quem tiver uma dica, agradeço.

Abraço a todos,
Mario.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

NotePad++ x xDev Studio

Mensagem por Pablo César »

Olha Mario, eu fiz um tutorial (em inglês, não tenho em português) e depois outros usuários complementaram melhorando as informações.

Veja em: http://www.hmgforum.com/viewtopic.php?p=28229#p28229
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

NotePad++ x xDev Studio

Mensagem por Mario Mesquita »

Bom dia, amigos.

Pablo, obrigado. Vou dar uma lida. Parece bobagem, mas esse recurso é bem legal. Principalmente em programas com muitas rotinas.

Abraço e bom sábado,
Mario.
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

NotePad++ x xDev Studio

Mensagem por Mario Mesquita »

Voltei.

Pablo, baixei seus arquivos para configurar para HMG/xBase, mas mesmo habilitando a linguagem a lista de funções continua em branco.

Fui em "Linguagem", em "Defina sua linguagem...", já escolhi HMG e xBase mas não mostra nada.

não sei se ajuda, mas vou colar um programa aqui, quem sabe vc mata a charada:

Código: Selecionar todos

/* ------------------------------------------
   Programa: SAC52000.PRG
   Objetivo: Efetuar a indexacao dos arquivos
   Criacao.: 18:35 15 Feb,1995
   Revisao.: 13:28 03 Dec,1997
             18:23 May 21,1998 - co-emitentes
             11:06 Jun 04,1998 - grafico
             16/12/2000 - Alteracao de MATANTX() / mr
             13/06/2009 - Versao Harbour/Minigui / mr 
   ------------------------------------------
*/
#include <minigui.ch>

FUNCTION Abre_Index()

     Load Window Form_Index
     Form_Index.center
     //Form_Index.activate
     Form_Index.ProgBar_1.Enabled := .t.
     Form_Index.ProgBar_1.Value := 1
     Form_Index.activate

RETURN NIL

////

FUNCTION Fecha_Index()

Form_Index.Release

RETURN NIL

////

FUNCTION SAC52000()

LOCAL Mindex := "N"

REQUEST DBFCDX
RDDSETDEFAULT("DBFCDX")
DBSETDRIVER("DBFCDX")

REQUEST DESCEND  // Para for袲 a linkedi褯, sen䯠a fun褯 n䯠sobe para o .EXE / Dica do Clipper on Line, 16/11/16. (3.x)

SET EXCLUSIVE ON   // Trava wm exclusivo para indexa褯, liberar no fim.

DO EVENTS

DBCLOSEALL()

IF FILE( "*.CDX" )
	vCdx := DIRECTORY("*.CDX")
	FOR k = 1 TO LEN(vCdx)
	    DELETE FILE (vCdx[k,1])
	NEXT
	//MSGINFO("DELETOU OS CDXs")
ENDIF

IF FILE( "*.DBF" )
	//MSGINFO("ACHOU OS TMPs")
	vCdx := DIRECTORY("*.DBF")
	//MSGINFO(STR(LEN(VCDX))+ " TMPs")
	FOR k = 1 TO LEN(vCdx)
	    IF SUBS(vCdx[k,1],1,2) == "TP"
    	    //MSGINFO("TMP: "+vCdx[k,1])
	       DELETE FILE (vCdx[k,1])
	    ENDIF   
	NEXT
	//MSGINFO("DELETOU OS TMPs")
ENDIF

DBUSEAREA( .T.,"DBFCDX","USUARIOS" )
INDEX ON NOMME TAG NOMUSU TO USUARIOS
DBCLOSEAREA()
nPro(1)

DBUSEAREA( .T.,"DBFCDX","TBTIPTIT" )
INDEX ON SIGLA TAG SIGTIP TO TBTIPTIT
DBCLOSEAREA()
nPro(2)

DBUSEAREA( .T.,"DBFCDX","EDITAL" )
INDEX ON DTOS(DTEDIT) + PROTOCOLO + TIPO   TAG EDIDT TO EDITAL
INDEX ON PROTOCOLO + DTOS(DTEDIT) + NNOMME TAG PROTC TO EDITAL
INDEX ON NNOMME + PROTOCOLO + DTOS(DTEDIT) TAG EDNOM TO EDITAL
INDEX ON DESCEND(DTOS(DTEDIT))             TAG EDDT2 TO EDITAL
DBCLOSEAREA()
nPro(3)

DBUSEAREA( .T.,"DBFCDX","TITULOS" )
nPro(4)
INDEX ON PROTOCOLO+SERIE                     TAG TITCOD  TO TITULOS // 1
nPro(5)
INDEX ON SACADO+SITUACAO                     TAG TITSAC  TO TITULOS // 2
nPro(6)
INDEX ON CGC+SITUACAO                        TAG TITPESS TO TITULOS // 3
nPro(7)
INDEX ON NUMDOC                              TAG TITDOC  TO TITULOS // 4
nPro(8)
INDEX ON DTOS(DTENTRADA)+PROTOCOLO           TAG DTPROT  TO TITULOS // 5
nPro(9)
INDEX ON DTOS(DTPAGTO)                       TAG TITCANC TO TITULOS // 6
nPro(10)
INDEX ON CODBANCO+DTOS(DTPROTESTO)           TAG TITBCO  TO TITULOS // 7
nPro(11)
INDEX ON CODBANCO+PROTOCOLO+DTOS(DTPROTESTO) TAG TITBCOP TO TITULOS // 8
nPro(12)
INDEX ON DTOS(DTPROTESTO)                    TAG TITDATA TO TITULOS // 9
nPro(13)
INDEX ON CPF+SITUACAO                        TAG TITCPF  TO TITULOS // 10
nPro(14)
INDEX ON LIVAPT+FOLAPT+PROTOCOLO             TAG TITLIV  TO TITULOS // 11
nPro(15)
INDEX ON DTOS(DTCHEQUE)+NUMCHEQUE            TAG TITGUIA TO TITULOS // 12
nPro(16)
INDEX ON NUMDISTRIB                          TAG TITDIST TO TITULOS // 13
nPro(17)
INDEX ON PROTOCOLO+SERIE                     TAG DESCOD DESCEND TO TITULOS // 14
nPro(18)
INDEX ON ARQREMESSA                          TAG TITREM  TO TITULOS // 15
nPro(19)
INDEX ON SITUACAO                            TAG TITSIT  TO TITULOS // 16
DBCLOSEAREA()
//-----------
DBUSEAREA( .T.,"DBFCDX","BANCOS" )
nPro(20)
INDEX ON CODBANCO  TAG BANCOD TO BANCOS
nPro(21)
INDEX ON NOMEBANCO TAG BANOME TO BANCOS
nPro(22)
INDEX ON CGCBANCO  TAG BANCGC TO BANCOS
DBCLOSEAREA()
//-----------
nPro(23)
DBUSEAREA( .T.,"DBFCDX","BAN_MSG" )
INDEX ON CODBANCO  TAG BANCOD TO BAN_MSG
DBCLOSEAREA()
//-----------
DBUSEAREA( .T.,"DBFCDX","TITULAR" )
nPro(24)
INDEX ON NOMME   TAG NOMEUSU TO TITULAR
nPro(25)
INDEX ON TITULAR TAG NOMETIT TO TITULAR
DBCLOSEAREA()
//-----------
DBUSEAREA( .T.,"DBFCDX","DEVEDOR" )
nPro(26)
INDEX ON CODDEV TAG DEVCOD  TO DEVEDOR
nPro(27)
INDEX ON SACADO TAG DEVNOME TO DEVEDOR
nPro(28)
INDEX ON CGC    TAG DEVCGC  TO DEVEDOR
nPro(29)
INDEX ON CPF    TAG DEVCPF  TO DEVEDOR
DBCLOSEAREA()
// ----------
DBUSEAREA( .T.,"DBFCDX","TABELA" )
nPro(30)
INDEX ON PROTOCOLO+SITUACAO TAG TAB TO TABELA
DBCLOSEAREA()
// ----------
DBUSEAREA( .T.,"DBFCDX","TITAUTOM" )
nPro(31)
INDEX ON DATAINIC TAG AUTOMTIT TO TITAUTOM
DBCLOSEAREA()
// ----------
DBUSEAREA( .T.,"DBFCDX","COEMIT" )
nPro(32)
INDEX ON PROTOCOLO + COEMITENTE TAG COEMPROT TO COEMIT
nPro(33)
INDEX ON COEMITENTE             TAG COEMNOME TO COEMIT
nPro(34)
INDEX ON CPFCOEMIT              TAG COEMCPF  TO COEMIT
nPro(35)
INDEX ON CGCCOEMIT              TAG COEMCGC  TO COEMIT
DBCLOSEAREA()
//-----------
//USEDB( .F.,"LIVPRO",,.F. )
DBUSEAREA( .T.,"DBFCDX","LIVPRO" )
nPro(36)
INDEX ON NUMLIV TAG LIVPRO TO LIVPRO
DBCLOSEAREA()
//-----------
//USEDB( .F.,"LIVAPT",,.F. )
DBUSEAREA( .T.,"DBFCDX","LIVAPT" )
nPro(37)
INDEX ON NUMLIV TAG LIVAPT TO LIVAPT
DBCLOSEAREA()
//-----------
//USEDB( .F.,"ACESSO",,.F. )
DBUSEAREA( .T.,"DBFCDX","ACESSO" )
nPro(38)
INDEX ON MATRIC+ROTINA TAG ACESSO TO ACESSO
DBCLOSEAREA()
//-----------
//USEDB( .F.,"LOGOP",,.F. )
DBUSEAREA( .T.,"DBFCDX","LOGOP" )
nPro(39)
INDEX ON DESCEND(DTOS(DATAOPE))+HORAOPE+USUARIO TAG LOGOP1 TO LOGOP
nPro(40)
INDEX ON USUARIO+DTOS(DATAOPE)+HORAOPE          TAG LOGOP2 TO LOGOP
DBCLOSEAREA()
//-----------
DBUSEAREA( .T.,"DBFCDX","CUSTAS" )
nPro(41)
INDEX ON CODCUS TAG CUSTAS TO CUSTAS
DBCLOSEAREA()
//-----------
DBUSEAREA( .T.,"DBFCDX","TB_ANOS" )
nPro(42)
INDEX ON ANO_TAB TAG TBANO TO TB_ANOS
DBCLOSEAREA()
//-----------
DBUSEAREA( .T.,"DBFCDX","FCUSTAS" )
nPro(43)
INDEX ON ANO_TAB + FAIXA TAG FCUSTA1 TO FCUSTAS
DBCLOSEAREA()
//-----------
DBUSEAREA( .T.,"DBFCDX","TCUSTAS" )
nPro(44)
INDEX ON ANO_TAB+CODFUNCAO+TABELA+ITEM+SUBITEM TAG CUSTAS TO TCUSTAS
nPro(45)
INDEX ON ANO_TAB+TABELA+ITEM+SUBITEM           TAG EMOLUM TO TCUSTAS
DBCLOSEAREA()
//-----------
DBUSEAREA( .T.,"DBFCDX","TB_EMOL" )
nPro(46)
INDEX ON TABELA+ITEM+SUBITEM TAG TBITSB TO TB_EMOL
DBCLOSEAREA()
//-----------
DBUSEAREA( .T.,"DBFCDX","TFUNCAO" )
nPro(47)
INDEX ON FUNCAO    TAG TFUNCAO1 TO TFUNCAO
nPro(48)
INDEX ON CODFUNCAO TAG TFUNCAO2 TO TFUNCAO
DBCLOSEAREA()
//-----------
DBUSEAREA( .T.,"DBFCDX","ENCDIA" )
nPro(49)
INDEX ON DTOS(DATENC)  TAG ENCDIA1 TO ENCDIA
nPro(50)
INDEX ON LIVAPT+FOLAPT TAG ENCDIA2 TO ENCDIA
DBCLOSEAREA()
//-----------
DBUSEAREA( .T.,"DBFCDX","FERIADOS" )
nPro(51)
INDEX ON DESCEND(DTOS(DATAFER)) TAG FERIADO1 TO FERIADOS
nPro(52)
INDEX ON DTOS(DATAFER)          TAG FERIADO2 TO FERIADOS
DBCLOSEAREA()
//-----------
/* isolado em 10/06/16.
DBUSEAREA( .T.,"DBFCDX","CADCHEQ" )
nPro(53)
INDEX ON DTOS(DATAPGTO)+CODBANCO TAG CADCHEQ TO CADCHEQ
DBCLOSEAREA()
*/
//-----------
DBUSEAREA( .T.,"DBFCDX","RECIBOS" )
nPro(53)
INDEX ON CODREC                TAG RECIB1 TO RECIBOS  // 1
nPro(54)
INDEX ON DTOS(DATREC) + CODREC TAG RECIB2 TO RECIBOS  // 2
nPro(55)
INDEX ON TALLAO    + CODFUNCAO TAG RECIB3 TO RECIBOS  // 3
INDEX ON PROTOCOLO + CODFUNCAO TAG RECIB4 TO RECIBOS  // 4
INDEX ON DESCEND(DTOS(DATREC)) TAG RECIB5 TO RECIBOS  // 5
INDEX ON NUMDOC                TAG RECIB6 TO RECIBOS  // 6
DBCLOSEAREA()
//-----------
DBUSEAREA( .T.,"DBFCDX", "PEDIDOS" )
nPro(56)
INDEX ON ANO_TAB + TALLAO         TAG PEDIDOS1 TO PEDIDOS
nPro(57)
INDEX ON CODREC  + TALLAO         TAG PEDIDOS2 TO PEDIDOS
nPro(58)
INDEX ON DTOS(DATPED) + CODFUNCAO TAG PEDIDOS3 TO PEDIDOS
nPro(59)
INDEX ON TALLAO                   TAG PEDIDOS4 TO PEDIDOS
nPro(60)
INDEX ON DTOS(DATDEV)             TAG PEDIDOS5 TO PEDIDOS
nPro(61)                   
INDEX ON PROTOCOLO                TAG PEDIDOS6 TO PEDIDOS
nPro(62)
INDEX ON CPFCGC                   TAG PEDIDOS7 TO PEDIDOS
nPro(63)
INDEX ON SSELLO                   TAG PEDIDOS8 TO PEDIDOS
nPro(64)
INDEX ON DESCEND(DTOS(DATPED))    TAG PEDIDOS9 TO PEDIDOS
DBCLOSEAREA()

//-----------
DBUSEAREA( .T.,"DBFCDX", "NOVOS" )
PACK
//-----------
DBUSEAREA( .T.,"DBFCDX","TERMINAL" )
INDEX ON CODTERM TAG TERM1 TO TERMINAL
nPro(65)
DBCLOSEAREA()
//-----------
DBUSEAREA( .T.,"DBFCDX", "LOG_SELO" )
nPro(66)
INDEX ON SELO                TAG LOGS1 TO LOG_SELO
nPro(67)
INDEX ON DTOS(DATA)          TAG LOGS2 TO LOG_SELO
nPro(68)
INDEX ON CODREC              TAG LOGS3 TO LOG_SELO
nPro(69)
INDEX ON TALLAO              TAG LOGS4 TO LOG_SELO
nPro(70)
INDEX ON PROTOCOLO           TAG LOGS5 TO LOG_SELO
nPro(71)
INDEX ON DESCEND(DTOS(DATA)) TAG LOGS6 TO LOG_SELO
nPro(72)
INDEX ON DESCEND(SELO)       TAG LOGS7 TO LOG_SELO
DBCLOSEAREA()

//-----------
DBUSEAREA( .T.,"DBFCDX", "TB_IRREG" )
INDEX ON CODIRREG TO TB_IRREG
nPro(73)
DBCLOSEAREA()

//-----------
DBUSEAREA( .T.,"DBFCDX","PLCONTAS" )
nPro(74)
INDEX ON NUMCON TAG PLC TO PLCONTAS
DBCLOSEAREA()

//-----------
DBUSEAREA( .T.,"DBFCDX","LANCTOS" )
nPro(75)
INDEX ON NUMSEQ          TAG NSEQ TO LANCTOS
INDEX ON DTOS(DTPAGT)    TAG DTPG TO LANCTOS
INDEX ON DESCEND(NUMSEQ) TAG DSEQ TO LANCTOS
DBCLOSEAREA()

//-----------
DBUSEAREA( .T.,"DBFCDX","CAIXA" )
INDEX ON DTOS(DTCAIXA) TAG DTC TO CAIXA
DBCLOSEAREA()
nPro(76)

//-----------
DBSELECTAR(0)
DBUSEAREA( .T.,"DBFCDX","DEMCUST" )
INDEX ON ANO_TAB TAG ANOTAB TO DEMCUST
nPro(77)
DBCLOSEAREA()
//-----------
DBUSEAREA( .T.,"DBFCDX", "LOG_FORM" )
nPro(78)
INDEX ON COD_INI             TAG LOGF1 TO LOG_FORM
nPro(79)
INDEX ON DTOS(DATA)          TAG LOGF2 TO LOG_FORM
nPro(80)
INDEX ON TALLAO              TAG LOGF3 TO LOG_FORM
nPro(81)
INDEX ON PROTOCOLO           TAG LOGF4 TO LOG_FORM
nPro(82)
INDEX ON SELO                TAG LOGF5 TO LOG_FORM
nPro(83)
INDEX ON DESCEND(COD_INI)    TAG LOGF6 TO LOG_FORM
nPro(84)
INDEX ON DESCEND(DTOS(DATA)) TAG LOGF7 TO LOG_FORM
DBCLOSEAREA()
//========

DBCLOSEALL()

SET EXCLUSIVE OFF

DBUSEAREA( .T.,"DBFCDX","USUARIOS",,.T. )
SET INDEX TO USUARIOS

// Grava Log da Opera褯 //

Grava_Acs("Organiza褯 de Dados", "U" )
		 
MSGINFO("ORGANIZAȃO FINALIZADA")
Fecha_Index()

//Form_Index.release  // Fecha o form

RETURN NIL

////

FUNCTION nPro(nPr)

//Form_Index.ProgBar_1.Enabled := .t.
Form_Index.ProgBar_1.Value := nPr
//Form_Index.ProgBar_1.Show

RETURN NIL

////

FUNCTION MATANTX()
LOCAL vNtx := DIRECTORY("*.NTX"), vTp := DIRECTORY("TP*.*")
FOR k = 1 TO LEN( vNtx )
    nArq := vNtx[k,1]
    DELE FILE &nArq
NEXT
FOR k = 1 TO LEN( vTp )
    nArq := vTp[k,1]
    DELE FILE &nArq
NEXT
RETU

////

FUNC SONUM(xNum)
LOCAL wNum := ""
FOR k = 1 TO LEN(xNum)
    IF SUBS(xNum,k,1) $ "0123456789"
       wNum += SUBS(xNum,k,1)
    ENDIF
NEXT
IF wNum == ""
   wNum := SPAC(15)
ENDIF
RETU wNum
****
Já converti pra UTF-8 como orientado, está compilando certinho. Deve ser algo que não estou fazendo, acredito.

Desde já, agradeço a ajuda.

Abraço,
Mario.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NotePad++ x xDev Studio

Mensagem por JoséQuintas »

Nunca consegui configurar isso no programmers notepad, mas....

A função find in files pode quebrar o galho.
findinfiles.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

NotePad++ x xDev Studio

Mensagem por Mario Mesquita »

Olá, mestre Quintas.

De fato ajuda, mas o ideal era a janela listar as funções. Se alguém consegui, por que não, né?

Vou tentar desse modo pra ir facilitando as coisas.

Muito obrigado pela dica.

Abraço e bom sábado,
Mario.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NotePad++ x xDev Studio

Mensagem por JoséQuintas »

E o negócio se torna mais interessante ainda quando não se limita somente a isso, e até serve como índice....
ctags.png
Pro VB está até mapeando variáveis.
a lista das opções do programmers notepad.
0 Unknown
1 Function
2 Procedure
3 Class
4 Macro
5 Enum
6 Filename
7 EnumName
8 Member
9 Prototype
10 Structure
11 Typedef
12 Union
13 Variable
14 Namespace
15 Method
16 Event
17 Interface
18 Property
19 Program
20 Constant
21 Label
22 Singleton
23 Mixin
24 Module
25 Net
26 Port
27 Register
28 Task
29 Cursor
30 Record
31 SubType
32 Trigger
33 Set
34 Field
35 Table
Até achei uma explicação, mas não entendi nada... rs

https://msdn.microsoft.com/en-us/librar ... .110).aspx

o único exemplo pronto, que dá pra ver no pnotepad é este:

Código: Selecionar todos

--langdef=properties
--langmap=properties:.ini,python:+.pyw
--regex-properties=/^\[(.*)\]/\1/s,Section/
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NotePad++ x xDev Studio

Mensagem por JoséQuintas »

Fatou complementar: Segundo a wikipedia, o notepad++ também utiliza ctags, e outros editores também.
Seria interessante entender como configurar por ctags, porque já teríamos pra muitos editores.

https://en.wikipedia.org/wiki/Ctags
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

NotePad++ x xDev Studio

Mensagem por Pablo César »

Oi Mario e colegas.

Desculpem no momento estou sem tempo para isto.
Requer revisão e encontrar uma forma mais completa de configurar liguagem + configurações de sintaxe para o functions list do NPP.

Mas naquele tópico que indiquei, se lerem atentamente, muitos já conseguiram. Tem que ler com atenção, o Tiger lá explicou sobre essa confusão de eu ter usado Harbour e outra HMG.
Não era para ter sido assim pois são coisas diferentes que mesmo que Harbour esteja intrinsica em HMG eu misturei as bolas (deculpem por isso).

Faz tempo que li e é perfeitamente possível. Mas tem que buscar bem as plavras chaves em Harbour que definem a funções/procedures, suas diferentes formas e como aplicá-las. Acho que isso está praticamente feito a salvo a inclusão de CLASSes and Methodos.

Mas com certeza a NPP é um dos melhores editores com seu inúmeros plug-ins.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

NotePad++ x xDev Studio

Mensagem por Mario Mesquita »

Bom dia a todos.

Pablo, se a solução está nos post, eu vejo lá. Eu peguei seu .RAR e imaginei que já estava pronto. Lá tem outro, talvez já ajustado. Vou tentando aqui, como disse é um recurso muito bom pois agiliza a localização das funções.

Quintas, valeu as dicas.

Se alguém mais tiver alguma dica, pode ser útil para a comunidade.

Abraço a todos,
Mario.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NotePad++ x xDev Studio

Mensagem por JoséQuintas »

Acabei chegando neste endereço....
É uma variação de ctags, mas não sei se é qualquer editor de textos que aceita.

https://sourceforge.net/p/ctags/patches/68/
ctagsharbour.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NotePad++ x xDev Studio

Mensagem por JoséQuintas »

Eita...

Código: Selecionar todos

d:\TOOLS\pnotepad>ctags --version
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
  Compiled: May  8 2010, 14:08:35
  Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
  Optional compiled features: +win32, +regex, +internal-sort
É o mesmo componente usado no pnotepad.
No pnotepad é antes da atualização pra Harbour.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NotePad++ x xDev Studio

Mensagem por JoséQuintas »

Achei sobre o assunto no Harbour developers:

https://groups.google.com/forum/#!topic ... avUFljzaj8

E também configuração no fivewin:

http://forums.fivetechsupport.com/viewt ... 19&t=28219

Mas não deram certo. Se alguém tiver alguma dica, seria bom.

Minha última tentativa foi o que encontrei no fórum fivewin

Código: Selecionar todos

--langdef=harbour
--langmap=harbour:.prg.ch

--regex-harbour=/^FUNCTION [\t]*([a-zA-Z0-9_]+)/\1/f,function/
--regex-harbour=/^[Ff]unction [\t]*([a-zA-Z0-9_]+)/\1/f,function/

--regex-harbour=/^FUNC [\t]*([a-zA-Z0-9_]+)/\1/f,function/
--regex-harbour=/^[Ff]unc [\t]*([a-zA-Z0-9_]+)/\1/f,function/

--regex-harbour=/^PROCEDURE [\t]*([a-zA-Z0-9_]+)/\1/p,procedure/
--regex-harbour=/^[Pp]rocedure [\t]*([a-zA-Z0-9_]+)/\1/p,procedure/

--regex-harbour=/^PROC [\t]*([a-zA-Z0-9_]+)/\1/p,procedure/
--regex-harbour=/^[Pp]roc [\t]*([a-zA-Z0-9_]+)/\1/p,procedure/

--regex-harbour=/^#DEFINE [\t]*([a-zA-Z0-9_]+)/\1/d,define/
--regex-harbour=/^#[Dd]efine [\t]*([a-zA-Z0-9_]+)/\1/d,define/

--regex-harbour=/CLASS [\t]*([a-zA-Z0-9_]+)/\1/c,class/
--regex-harbour=/[Cc]lass [\t]*([a-zA-Z0-9_]+)/\1/c,class/

--regex-harbour=/DATA [\t]*([a-zA-Z0-9_]+)/\1/m,data/
--regex-harbour=/[Dd]ata [\t]*([a-zA-Z0-9_]+)/\1/m,data/

--regex-harbour=/METHOD [\t]*([a-zA-Z0-9_]+)/\1/m,method/
--regex-harbour=/[Mm]ethod [\t]*([a-zA-Z0-9_]+)/\1/m,method/

--regex-harbour=/MESSAGE [\t]*([a-zA-Z0-9_]+)/\1/m,method/
--regex-harbour=/[Mm]essage [\t]*([a-zA-Z0-9_]+)/\1/m,method/
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

NotePad++ x xDev Studio

Mensagem por Pablo César »

Eu acho que depende de cómo é instalado o Notepad++.

Na hora de instalar, você pode escolher a instalação no USER, no geral e no pendrive, senão me engano.
Eu sempre escolhi por deixar os comboboxes todos sem estarem clicados.

Imagem
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

NotePad++ x xDev Studio

Mensagem por Mario Mesquita »

Bom dia a todos.

Pablo, acho que fiz assim, até porque acabei atualizando a versão para 7.3.3 e respondi nessa caixa apenas para o desktop. Será que a versão muda algo em relação a lista de funções?

Uma coisa tão simples dando esse trabalho todo...

Abraços e boa semana a todos,
Mario.
Responder