AI Text Completion for atom - autocomplete

Ok. So I've tried to find a good package for atom that would be good ai autocompletion. But it just wasn't good. I've tried Tabnine. (Every good feature is on the payed plan.) Kite is unavaliable at the moment. And GitHub Copilot is now payed too.
Thank you for your answers.

Related

how to collaborate with other authors using org-mode?

I'm using org-mode. How do I collaborate with other people who are not using Emacs?
It seems like the standard for document collaboration is Google Drive/Google Docs. This is fine, but my preferred environment is Emacs org-mode. Short of cutting the full text, editing it in Emacs, and then pasting it when I'm done, is there a way to share edits and updates back and forth with people who are not using Emacs?
I've read a great story of people collaborating on a book
on github: Homotopy Type Theory.
The repository is here.
This was two dozen mathematicians working simultaneously for half a year
on a 600 page book. I thought it was pretty cool.

emacs: python auto-complete just doesn't want to work

I couldn't find a specific answer to my question here, so I dare asking it at the off-chance of being directed to the answer ;)
since about two days, I am trying to get the auto-complete-mode to work for python, but I am out of luck :( I have been following the direction from this website and from this website which are both fairly outdated it would appear.
To give a brief description for those unfamiliar: According to the websites, it is apparently necessary to install first rope, rope-mode, pymacs and ropemacs before attempting to install auto-complete. I am reasonably confident, that I have done so successfully (the given tests, if any, in each manual gave the expected result), but once I install auto-complete, it just doesn't, y'know, autocomplete...
Lastly, it is entirely possible that I have done a newbie mistake, so please don't be shy and ask the blatantly obvious question here.
Thanks a lot for your help.
I am using Ubuntu 12.04 and emacs23 and I would like to use it with python2.7
bzr branch lp:python-mode/components-python-mode
includes auto-completion based on company-mode
That's the development branch of python-mode.el, no release so far.

Is it worth learning to use Emacs for web development

I have never used Emacs before and the first time I tried it I was so repulsed by its interface which seemed not very user friendly . But since then I have heard a lot about it improving productivity and this has rekindled my interest . But is it true for the case of web development as well? for the likes of php,python,javascript/jquery etc . How good are the code completion features?
Please suggest some resources to get me started in the right direction.
I'm a bit of a religious user when it comes to Emacs so please take this with a few bags of salt. I'll try to state my reasons for using Emacs (including for web development).
Emacs' primary strength is it's extensibility and the fact that at it's core, it's a lisp interpreter with a bunch of primitive functions useful for text editing and display. This makes it "programmable". You can customise it almost endlessly.
This has spurred a number of libraries which do (common) things like code completion, source code browsing, test harness integration, refactoring tool integration, version control integration etc. If a developer working on a project is an Emacs user, it's not uncommon to see her adding something to her project just to get it to work well with Emacs. The extensibility has also spurred a number of less that conventional libraries like mail clients, web browsers, IRC clients, music players etc.
Many Emacs users keep most of their work (except for maybe their browsers) inside Emacs. This allows them to use the same keystrokes and high level techniques for everything that they use. I myself use it for my daily coding, for my email, as my PIM and a bunch of other things. I can for example, while working on my code, just write something like "TBD" as a comment somewhere and let the PIM part remember this as a TODO item next time I open the editor. I can also for example while coding simply switch to another "buffer" (the emacs term for windows) with an IRC client and ask questions I might have to other people who are online. This makes me quite productive and quick. Also, the keystrokes are almost the same on a large number of command line UNIX programs (like my shell etc.) which helps me do my work faster.
Another advantage is that Emacs is old. People have tweaked and polished it endlessly and still do. The result is a set of commands for editing that I didn't even know that I needed. Things like "capitalise word" to make the first letter of the word my cursor is on upper case sounds trivial but while you're editing, it's quite useful.
Being extensible, Emacs has "modes". These are environments for specific programming languages. Indentation rules, syntaxes, completion etc. will change depending on the mode you're in. There are modes for almost all modern languages and they provide substantial help while editing. You have things for javascript, php etc. which help you while coding in those languages. There are also web specific tools (e.g. Emacs can talk to MozRepl so that you can refresh you browser and things while editing). People write modes all the time for what they want and it's not too hard. I recently started using jekyll to maintain my blog and wrote a mode to make my life easier). The modes add functionality but at a base level are the same (e.g. same keys to delete a character, move forward by a sentence etc.). I like this because I don't have to learn a whole new set of keys and get used to them just to code in another language.
That being said, Emacs is a tool for a different kind of developer. Most hardcore Emacs users (and there are quite a few famous ones out there) don't use many IDE type features. They usually like just a window (Without toolbars, menu bars and all that) so that the real estate for code is maximum. If you're used to leaning on a feature heavy IDE to do your work, Emacs might not be the right tool for you (I think this is what Trey meant in his comment). If however, you want a programmers editor that stays out of the way and let's you get your job done with minimum hassle, it's something you should definitely try out.
Okay, resources. The first thing to do is to start up Emacs and type Ctrl-h t. This gives you a "hands on" tutorial you can use to learn the editor basics. Once you're done with that, you can read the fine manual at http://www.gnu.org/software/emacs/manual/html_node/emacs/index.html. Once you're happy with that, you can read the Emacs lisp tutorial and start extending and customising Emacs as per your wishes. The EmacsWiki is a great place for tips, tricks and docs as is the Emacs IRC channel.
All the best!
If you don't like the interface, it's not worth it.
The question isn't is it worth learning Emacs, it is do you want to learn the interface?
If you do, then it's worth it. If you don't, then it's not.
More concretely, I'll answer your broad question with a series of links you could have gotten from the Emacs wiki:
http://www.emacswiki.org/emacs/JavaDevelopmentEnvironment
http://www.emacswiki.org/emacs/NxhtmlMode
http://www.emacswiki.org/emacs/HtmlMode
http://www.emacswiki.org/emacs/MuMaMo
http://www.emacswiki.org/emacs/PhpMode
http://www.emacswiki.org/emacs/php-completion.el
http://www.emacswiki.org/emacs/php-mode-improved.el
http://www.emacswiki.org/emacs/JavaScriptMode
http://www.emacswiki.org/emacs/FlymakeJavaScript
http://www.emacswiki.org/emacs/PythonMode
http://www.emacswiki.org/emacs/PythonProgrammingInEmacs
http://www.emacswiki.org/emacs/CategoryProgrammerUtils
Yes, people like using Emacs for web development. The above is just a sampling of modes people have written and use on a daily basis.
Is it for you? I don't know.
Is it better than editor X? or IDE Y? Yes for some things, no for others.
The code completion features are great! (unless they're not) It depends on what you want, what languages you're talking about, etc. etc. etc.
People use vi, people use Emacs, people use Notepad, people use all sorts of text editors.
Note: asking vague questions leads to vague answers.
The ultimate web programming mode is arguably nxhtml mode. You might start by taking a look at it. You might also want to check out some rich preexisting Emacs configurations like the Emacs Starter Kit or the Emacs Dev Kit.
The PHP & Python modes in Emacs are not particularly great, but are fairly decent. The JavaScript mode is certainly great. Packages such as autocomplete mode provide good completion almost everywhere.
I'm certainly biased, but I think that if you do spend some time exploring Emacs you'll find out that it will boost your productivity.
As some other posters have eluded to, it all depends on what you want out of it. If you want to feel as good about the customizations you've been able to get working in emacs as you do about the actual code that you write, then sure.. Emacs is great ;)
(Before anyone jumps down my throat, emacs is by far my favorite editor for 'nix C/C++ editing, but that's not what the OP's looking for here ;))
In my crusade to find the most productive editor for PHP, Python, Javascript etc, my favorite thus far has been Komodo Edit. It features not only code completion, but jump-to-definition (as well as many other features that a full-featured IDE should have) and is really the closest thing to Visual Studio for OS scripting development that I've seen. Oh, and it's free.
Honestly, braces against the rotten fruit/vegetables that will surely be thrown my way I've recently become a fan of the NetBeans IDE for web development. Particularly when It comes to PHP.
But to answer you question: It's only worth it if it's worth it to you. Sorry, vague questions get vague answers. ;)
If you're using an existing IDE that can do web development, than use the IDE. If not Emacs is worthwhile to learn as the text editor to go to for text editing or for programming in language that do not have a good IDE.

Comprehensive list of Google Wave text editor clients?

I know I'm late to the game, but 'still haven't found very many desktop-based Google Wave client text editors. Do any even exist?
Do you know of a Google Wave client plugin for Eclipse, VIM, Netbeans, or any other IDE? (Doesn't have to be a complete product...alpha is fine,...just curious if there's any progress in that direction).
Or do you know of a site other than these few sites that might have this kind of information?
Here's a list of the sites I've already looked at:
http://wave-samples-gallery.appspot.com/
http://wavety.com/
http://mywavegadgets.com
http://www.getwaveboard.com
http://www.chaaps.com/huge-list-of-125-google-wave-robots-add-bots-and-enjoy-wave.html
EDIT: Not even a comment?
i currently implement a collaboration perspective which sync your current edited file with a wave using a robot and some server work. it should be available from my web site at http://www.devunity.com
Currently i support java,python,php and syntax highlighting.

Effective Extensions for Development Wiki

Our small team of 3-4 developers uses a wiki for documentation and collaboration. I'm trying to put together a list of some solid extensions which would help make it better. We are using MediaWiki, but if you know of a good extension/plug-in for another platform I'd like to hear about that too. Thanks.
Here is my list so far:
Geshi for syntax highlighting.
FCKeditor
TagAsCategory
Promising Extensions that don't work w/ MediaWiki 1.15.0
CategoryEditor
IssueTracker
Two things come to mind:
Bug tracking tool integration
SCM tool integration
For MediaWiki there are already
Bugzilla integration:
http://www.mediawiki.org/wiki/Extension:BugzillaReports
SVN integration:
http://www.mediawiki.org/wiki/Extension:SVNIntegration
The whole list of extensions is here
Well, I think that a good starting point would be to check what we use at mediawiki.org, because this is a Development Wiki :)
My first choice would be CodeReview of course. It's not pretty, but it's very useful. See how we use it: it allows to integrate a SVN into the wiki, to add comments on code, tag commits, and put statuses on it.
At MediaWiki, we use new/verified/ok chain, adding fixme/reverted/resolved/deferred when things go wrong; but you're free to use your own statuses here.