freebasic coder
- Author
- Message
-
Offline
- Posts: 61
- Joined: Thu Feb 04, 2016 5:27 am
freebasic coder
Please add freebasic coder settings.
It would be great.
It would be great.
-
Offline
- Posts: 176
- Joined: Sat Dec 24, 2011 4:05 pm
I don't know Basic, but I can suggest you to fork VBScript coder file in case they both are dialects of Basic (just copy vbs.coder into freebasic.coder and edit it).
Same way I made JScript.NET highlighting from build-in JScript for own needs. I can't call it "finished" yet, but it always possible to add new things.
Same way I made JScript.NET highlighting from build-in JScript for own needs. I can't call it "finished" yet, but it always possible to add new things.
-
Offline
- Posts: 61
- Joined: Thu Feb 04, 2016 5:27 am
I see, i'm trying but i'm not sure.F. Phoenix wrote:I don't know Basic, but I can suggest you to fork VBScript coder file in case they both are dialects of Basic (just copy vbs.coder into freebasic.coder and edit it).
Same way I made JScript.NET highlighting from build-in JScript for own needs. I can't call it "finished" yet, but it always possible to add new things.
These are the FreeBasic keyworks:
keywords, instructions and functions
Code: Select all
abs access acos alias allocate append as asc asin asm atan2 atn base beep bin binary bload bsave byref byval call callocate case cdecl chain chdir chr circle clear close cls color com command common condbroadcast condcreate conddestroy condsignal condwait cons constructor continue cos csrlin curdir cvd cvi cvl cvlongint cvs cvshort data date dateadd datediff datepart dateserial datevalue day deallocate declare delete destructor dim dir do draw dylibfree dylibload dylibsymbol dynamic else elseif encoding end enum environ eof erase erfn erl ermn err error escape exec exepath exit exp explicit export extends extern field fileattr filecopy filedatetime fileexists filelen fix flip for format frac fre freefile function get getjoystick getkey getmouse gosub goto hex hour if iif imageconvertrow imagecreate imagedestroy imageinfo import inkey inp input instr instrrev int is isdate kill lang lbound lcase left len lib line loc local locate lock lof log loop lpos lprint lpt lset ltrim mid minute mkd mkdir mki mkl mklongint mks mkshort month monthname multikey mutexcreate mutexdestroy mutexlock mutexunlock naked name namespace next new nogosub nokeyword now oct on open operator option out output overload paint palette pascal pcopy peek pipe pmap point poke pos preserve preset print private property protected pset public put random randomize read reallocate redim reset restore resume return right rmdir rnd rset rtrim run scope screen screencontrol screencopy screenevent screenglproc screeninfo screenlist screenlock screenptr screenres screenset screensync screenunlock scrn second seek select setdate setenviron setmouse settime sgn shell sin sizeof sleep space spc sqr stdcall step stick str strig sub swap system tab tan then this threadcreate threadwait time timer timeserial timevalue to trim type typeof ubound ucase union unlock until using val valint vallng valuint valulng var view wait wbin wchr weekday weekdayname wend whex while width window windowtitle winput with woct write wspace wstr year
Code: Select all
any byte cast cbyte cdbl cint clng clngint const cptr cshort csign csng cubyte cuint culng culngint cunsg cushort defbyte defdbl defint deflng deflongint defshort defsng defstr defubyte defuint defulongint defushort double integer long longint object pointer procptr ptr sadd shared short single static string strptr ubyte uinteger ulong ulongint unsigned ushort varptr wstring zstring
Code: Select all
add alpha and andalso custom eqv false imp let mod not null or orelse shl shr trans true xor
Code: Select all
assert assertwarn bit bitset bitreset defined hibyte hiword lobyte loword rgb rgba va_first va_arg va_next pragma debug
FreeBasic code example: http://pastebin.com/96zPSWHx
can someone do something with that?
Or guide me to know how to do it
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Основное описано в документации \AkelFiles\Docs\Coder-Eng.txt ...c-sanchez wrote: can someone do something with that?
Or guide me to know how to do it
Вот Вам измененный файл _vbs.coder, поместите его вместо штатного vbs.coder.
Сравните файлы vbs.coder и _vbs.coder, затем добавляйте по аналогии свои ключевые слова, операторы, переменные и т.п.
PS После обновления, vbs.coder может быть добавлен установщиком - следите за этим в дальнейшем.
-
Offline
- Posts: 61
- Joined: Thu Feb 04, 2016 5:27 am
Many thanks Skif_off! really greatSkif_off wrote:Example-sketch freebasic.coder.
I have some doubts.
* The autocomple code block is not working with freebasic.coder?
how i can enable that?
by ex. if i write:
Code: Select all
do while x=y then
....print "hello world!"
loop
the same for others code blocks of course
* How i can add freebasic.coder to Syntax theme menu list?
---Edit: i found add this adding the menu entry from: Options > Plug-ins... > ContextMenu::Main > ContexMenu::Show menu
then add on a line on "SYNTAXTHEME"
{
"FreeBASIC" Call("Coder::Settings", 1, "bas")
}
* Finally, how i can add a own toolbar menu / shortcuts to use freebasic compiler directly from akelpad?
Really akelpad is a wonder editor, too customizable and also "adaptable", i like how all syntax schemes are automatically adapted with any language.coder, imho toooooo better than other (commercial and open source) popular options.
Last edited by c-sanchez on Wed Feb 15, 2017 2:49 am, edited 1 time in total.
-
Offline
- Posts: 61
- Joined: Thu Feb 04, 2016 5:27 am
Thanks YuS, i see akelpad is good documentedYuS wrote:Основное описано в документации \AkelFiles\Docs\Coder-Eng.txt ...c-sanchez wrote: can someone do something with that?
Or guide me to know how to do it
Вот Вам измененный файл _vbs.coder, поместите его вместо штатного vbs.coder.
Сравните файлы vbs.coder и _vbs.coder, затем добавляйте по аналогии свои ключевые слова, операторы, переменные и т.п.
It would be great if AkelPad officially has FreeBASIC syntax highlight ^^YuS wrote:PS После обновления, vbs.coder может быть добавлен установщиком - следите за этим в дальнейшем.
I think the freebasic.coder sketch from Skif_off is good enough indeed
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
To have this auto-completion, the "Blocks:" section of the "freebasic.coder" file must include the definitions of the possible auto-completion blocks.c-sanchez wrote:* The autocomple code block is not working with freebasic.coder?
how i can enable that?
And you seem to be the best person to write these definitions
Please refer to the "Blocks:" section of the existing "vbs.coder" file to see the examples. This section already contains hints that explain the constructions which can be used. I believe the only unexplained part is the "${AutoComplete_Indent}" - this is an existing variable that controls the number of spaces to be inserted as an indent. Just use it in the same way as it is used in the existing "vbs.coder".
-
Offline
- Posts: 61
- Joined: Thu Feb 04, 2016 5:27 am
haha is ok, i'm waiting the new one thank you very much for the helpSkif_off wrote:I badly explain I'm rewrite coder-file and I think that in two-three days it will be ready.
I'm not sure what do you mean, if it's about how the keyword must be by default, then, while the default way for autocompleted keywords is lower case, i think is ok.Skif_off wrote:P.S. About case sensitivity: I have not found information on traditional code writing.
although is different for each person, so a option to change this to "lower case, UPPER case or Title Case" can be nice, i guess AkelPad have a option to setup this, where i can find the option?
FreeBASIC is not case sensitive, but i think all on lower case by default is the proper way.
a bit more about autocomplete
if possible, on autocomplete menu add an option with close code block and other without close code block
but by default only add the rest of word and tabulation on new line without close code block
ie, by ex:
if For
show on menu two options:
For*
For* Next
if choose For* then make
Code: Select all
for
....(tabulation)
Code: Select all
for
....(tabulation)
next
Yeah, indeed freebasic.coder from skif_off have the autocomplete sections, although this is not working fully. but well, it was an sketch heheDV wrote:To have this auto-completion, the "Blocks:" section of the "freebasic.coder" file must include the definitions of the possible auto-completion blocks.
And you seem to be the best person to write these definitions
Please refer to the "Blocks:" section of the existing "vbs.coder" file to see the examples. This section already contains hints that explain the constructions which can be used. I believe the only unexplained part is the "${AutoComplete_Indent}" - this is an existing variable that controls the number of spaces to be inserted as an indent. Just use it in the same way as it is used in the existing "vbs.coder".
i tried make it, but really i don't know how make what i want, sorry
-
Offline
- Posts: 1161
- Joined: Sun Oct 20, 2013 11:44 am
c-sanchez wrote:ie, by ex:
if For
show on menu two options:
For*
For* Next
if choose For* then makeif choose For*Next then makeCode: Select all
for ....(tabulation)
Code: Select all
for ....(tabulation) next
Code: Select all
$~for
for
${AutoComplete_Indent}$[]
$~for...next
for
${AutoComplete_Indent}$[]
next
-
Offline
- Posts: 1161
- Joined: Sun Oct 20, 2013 11:44 am
Sorry, I forgot it Test-version (but code folding with some problems).
-
Offline
- Posts: 61
- Joined: Thu Feb 04, 2016 5:27 am
heh don't worry and really really many thanks by the freebasic.coder, this looks very nice.
By now i view only the small detail on autocomplete, as i said, i prefer use the keywords on lower case, but by now the autocomplete works only on this case, ie if someone is writing with block mayus enable, the autocomplete is not showed.
Btw i have with this the doubt, this is a "fault" from .coder files or maybe from akelpad?
ie can be better a option as "ignore case on .coder file autocompletion blocks" or somethings so.
By now i view only the small detail on autocomplete, as i said, i prefer use the keywords on lower case, but by now the autocomplete works only on this case, ie if someone is writing with block mayus enable, the autocomplete is not showed.
Btw i have with this the doubt, this is a "fault" from .coder files or maybe from akelpad?
ie can be better a option as "ignore case on .coder file autocompletion blocks" or somethings so.