Publishing syntax theme?



Being mostly a front-end web / small html game guy I don’t have much experience in hacking on software, so I figured I would reach out for some help.

I did my own syntax theme based on an old Vim theme I really liked called Guardian.

I don’t think there is many on Atom quite like it and most probably hate it, but I think it is a great theme to resort to when I have reached maximum Monoki fatigue.

I have it up on github, but I would like to know the process of packaging it up and making it an Atom theme proper.

I have searched off and on since I made the theme 3 months ago, but is there an article or tutorial I am missing?

Thanks in advance!

How do I publish an Atom Syntax Theme

The Publishing a Package tutorial in the documentation section guides you through the whole process. You can find it here:

If you are unsure about something feel free to ask. Other than that, congratulations with your first package!


Thanks, have followed it but now I’m getting this error.


Looking at your package.json, you have: "version": "1.0"
For a first release, this should be "version": "0.0.0".

The apm publish command will automatically increment the version (first digit for major, second digit for minor and last digit for patch), you don’t have to (shouldn’t) do this manually. It also creates a git tag with the new version number for you.


Ahh, yes, that makes a lot more sense, haha.

Thanks for the heads up, still pretty new to version control =X.

Anyways it looks to be up and running fine now!

Also already in Atom it seems. Very cool.


By convention, package names are all lower case with hyphens instead of spaces. Also, syntax themes by convention end with -syntax. You may want to consider renaming your package to guardian-syntax to follow convention. It will show up in lists and such as Guardian Syntax because of the humanization code built into Atom.


FWIW, you can use any version you want if you use --tag instead of the auto-incrementing options. I had a lot of trouble myself before switching to always using --tag. It gives me full control.


Thanks for the heads as well, how do you go about renaming it?

Is it in package.json?


apm publish --rename see the help at apm help publish.


Thanks again!

Got it taken care of!


This is a bash script I used to automate my package publishing. I wanted to generate updated documentation before publishing too.