Atom editor
#1

To keep another topic clean:

Quote:
Originally Posted by Y_Less
View Post
How's it going? I did warn you...

Anyway, I'm actually more interested in Atom, it is written in JavaScript (and CoffeeScript) and based on other web technologies instead of Java. I'd lobe to integrate this in to it: http://slice-vps.nl:7070/



I find Eclipse to be monolithic, slow, and horrible to code for. Ironically, I'm probably very qualified to help you, being well versed in PAWN and having developed Eclipse plugins for a year - but I'm not going to as I said...
Quote:
Originally Posted by RajatPawar
View Post
OFF - TOPIC: It looks quite sleek, could anyone build it for Windows - I would have to go through the pain of installing VC (which I, YES, don't have!) - it would be great. Could I just make a thread, instead?

ON - TOPIC: Do you think this would be worth the effort? I've seen a lot of editors and imports but never really saw them catching up..
https://github.com/atom/atom/blob/ma...ons/windows.md
Reply
#2

I have all of Requirements except VC++ 2010, I Have VS 2012!
Reply
#3

Those instructions have a link to the 2010 download.
Reply
#4

I build it successfully with VS 2013.
At first glance, this looks a lot like Sublime, but it seems to be massively extendable through packages. If someone is bored and has time, he could try to create a pawn-language package to provide PAWN syntax and compiler support.
Integrating atom into PPG seems to be a bit overkill. I'm pretty sure it's possible, but the current editor in PPG seems to be good enough.
Reply
#5

I gave Atom a try and I'm using it daily at work now.

I've already started on a Pawn mode!
Reply
#6

It looks nice.
Reply
#7

Quote:
Originally Posted by Slice
View Post
I gave Atom a try and I'm using it daily at work now.

I've already started on a Pawn mode!
I'd give you more rep just for that post, but can't. Talk to me on IRC if you are about.
Reply
#8

I've decided to try making live auto-completion by scanning files, include files, and more. I started on the source scanner*. I'd appreciate some help, especially writing those tricky corner test cases (see the test folder)!

I was thinking something like this:
Create a .pawnrc (a better name, though) file in the project directory, specifying the main file(s) and include directory (if include dir omitted, use a global config).
Scan the main file(s) for all inclusions, and scan the inclusions.
Generate & update the auto-complete information for Atom every time a file is saved (cache most files, obviously).

* Warning: RegExp
Reply
#9

Might want an ability to exclude files and have authors specify them manually. I doubt people will want a hundred "@Aa", "@Ab", "@Ac" etc macros in auto-complete just for includnig y_stringhash for example. Or:

pawn Code:
/*
NOPARSE
*/


#define @Aa:H_Naa(%1a%0)%7||| H_Da(%1,a,%0,97)%7|||
#define @Ab:H_Nab(%1b%0)%7||| H_Da(%1,b,%0,98)%7|||
#define @Ac:H_Nac(%1c%0)%7||| H_Da(%1,c,%0,99)%7|||
#define @Ad:H_Nad(%1d%0)%7||| H_Da(%1,d,%0,100)%7|||
#define @Ae:H_Nae(%1e%0)%7||| H_Da(%1,e,%0,101)%7|||
#define @Af:H_Naf(%1f%0)%7||| H_Da(%1,f,%0,102)%7|||

// ...

/*
PARSE
*/
Similar to the:

pawn Code:
/*
native Func(a);
*/
Trick used to add functions to PAWNO, but with the compiler seeing them and the parser not.

Anyway, I'll have a look at the source and see what I can do.

Didn't you already write a JavaScript PAWN tokeniser, would it not make sense to use that?
Reply
#10

What is the use of CoffeeScript, when it is "just JavaScript"?
Reply
#11

Anyway to get windows installer? It doesn't compile for me
Reply
#12

Quote:
Originally Posted by nilanjay
View Post
What is the use of CoffeeScript, when it is "just JavaScript"?
It isn't "Just" JavaScript, it is "JavaScript for people who don't understand prototypical inheritance and can't wait for ECMAScript 6 to pander to their simplistic coding style".
Reply
#13

Quote:
Originally Posted by Scottas
View Post
Anyway to get windows installer? It doesn't compile for me
Compiled this from master@4fa0b6e: https://www.dropbox.com/s/hj53ab9f8d1a7hs/Atom.zip



Looks pretty nice!
Reply
#14

Thank you
Reply
#15

Quote:
Originally Posted by Y_Less
View Post
It isn't "Just" JavaScript, it is "JavaScript for people who don't understand prototypical inheritance and can't wait for ECMAScript 6 to pander to their simplistic coding style".
I completely disagree.

CoffeeScript is time efficient and it makes your life easier.
The fact that it's widely used in professional enviroments makes you think already.
Reply
#16

xeeZ I downloaded your link, it works flawlessly.
Thank you.
The editor is quite good, with lots of configuration options. I like the color picker package, it is quite useful when developing web projects.

I hope that you guys will be able to make it work with pawn (to have auto completion etc), it would be a lot better that PAWNO.
Reply
#17

Quote:
Originally Posted by Y_Less
View Post
Might want an ability to exclude files and have authors specify them manually. I doubt people will want a hundred "@Aa", "@Ab", "@Ac" etc macros in auto-complete just for includnig y_stringhash for example. Or:

pawn Code:
/*
NOPARSE
*/


#define @Aa:H_Naa(%1a%0)%7||| H_Da(%1,a,%0,97)%7|||
#define @Ab:H_Nab(%1b%0)%7||| H_Da(%1,b,%0,98)%7|||
#define @Ac:H_Nac(%1c%0)%7||| H_Da(%1,c,%0,99)%7|||
#define @Ad:H_Nad(%1d%0)%7||| H_Da(%1,d,%0,100)%7|||
#define @Ae:H_Nae(%1e%0)%7||| H_Da(%1,e,%0,101)%7|||
#define @Af:H_Naf(%1f%0)%7||| H_Da(%1,f,%0,102)%7|||

// ...

/*
PARSE
*/
Similar to the:

pawn Code:
/*
native Func(a);
*/
Trick used to add functions to PAWNO, but with the compiler seeing them and the parser not.

Anyway, I'll have a look at the source and see what I can do.

Didn't you already write a JavaScript PAWN tokeniser, would it not make sense to use that?
I thought I could get away easy with a simple RegExp parser. I think I've been beat by this.
Perhaps a lightweight tokenizer to parse arguments and such would be suitable. Like I did here.

I almost want to use the Pawn compiler to do this, but I realize it would become too slow for larger scripts.

Perhaps it could be used to generate a LST and patched to output all macros and their params?
Reply
#18

That doesn't even look like valid syntax with "Arg2[][] = sizeof (Arg1)"
Reply
#19

Oh, yeah, well that's not where the issue is. The problem is "Arg3[] = {1, 2, 3}".
Reply
#20

Ok, I've solved that problem along with other similar ones. There's only a few remaining corner cases I'll need to take care of (which probably aren't even used anyway).

https://github.com/oscar-broman/node...commits/master

Now I just need to add constants, macros, enums, and such.
Next step.. Syntax highlighting, autocomplete, and automatic updating of both.

If you have any test cases or ideas, please contribute to the GitHub project!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)