Given it’s Ramadan and we have some spare time at the end of the day, I’m getting the chance to be quite active with the development of Nikki.
If you are new to nikki, you might want to read this introductory post I wrote a while ago.
I figured out the best way to document these changes, besides writing a blog post, would be to document them with Github issues and by beefing up the README — so you should definitely have a look there.
What’s new?
The biggest change is that you are now gonna be running nikki
as a detached process:
once you start nikki you will see it running on port 9123
(by default)
and you will be able to stop it with a simple nikki --stop
; to
check whether nikki is running simply run a nikki --status
.
This change was made possible using node’s spawning capabilities
and dnode, which lets you
implement RPC
in NodeJS: once you start nikki the main process spawns itself,
the spawned one listens on 9124
for signals and the main process
ends; when we issue nikki --stop
we will just be sending a
shutdown
signal to the spawned nikki
process through an RPC call.
Other changes?
- added the
ctrl + shift + l
shortcut to close editor tabs - once you re-open nikki, tabs that were open at the time you closed will be open again
- using jQuery 2.X
- “open in github” you can now configure nikki so that
once you use the
ctrl + g
shortcut in a file it will open it, in github, in a new broser tab - added filesystem icons from fontawesome
- when you search for files, now, the file path will be shown next to the filename (so if you have 3
index.js
in your codebase… …no worries anymore!) - debug mode, so that you can troubleshoot problems in an easier way
What’s fixed?
- navigation used to show incorrect paths
- inconsistencies with the file search
- shortcuts conflicts with the ACE editor
How to get all these changes?
As simple as running an npm install -g nikki
if this is the first time
you hear about it: for the ones who already have it installed on their
systems simply run a npm update -g nikki
.
Then open a terminal, type nikki
and let the show begin!
What’s next?
I will be implementing filesystem operations in these days (delete / create files and folders) and probably refactor some of the key frontend components, like the keyboard shortcuts.
Keep an eye on the github project and let me know your feedback!