Create snippet and code completion from custom language - compilation

I work with an ERP, but the tools that it offers are very poor and non-practical, so I want to integrate an external editor and create snippets and code completion for it. It has its own built-in language, any ideas are welcome.

option 1: customizing the ERP editor
Integrating snippets and other features into the existing ERP editor would probably be difficult. Assuming it's provided as a web application, you could (in theory) write some Javascript that listens to the text you write into the built-in editor and then modifies it accordingly (blowing up expansions according to snippets you define, autocompleting words, etc.), but this might be brittle if the underlying HTML/Javascript changes, and difficult because you'll have to figure out how to reliably inject your custom Javascript whenever you load the website.
option 2: customizing your editor of choice for the ERP language
It sounds like the only thing the ERP editor is providing you with is syntax highlighting and maybe keyword autocompletion. If that's it, then in general those things aren't hard to implement in your editor of choice (e.g. for Vim, adding keyword autocompletion is as simple as dumping the keywords into a text file, and syntax highlighting involves defining some regular expressions). The benefit of doing this is that you'll also have access to all of your editor's other pleasantries, like navigation hotkeys, snippet plugins, and more.

Related

Customize Peoplecode App Designer text editor

I'm writing a lot of peoplecode in Oracle's Peoplesoft Application Designer 8.53
as far as IDE's go its pretty rudimentary but i'd like to be able to apply a custom Highlighting Scheme or customize the automatic white space manipulation that happens on save.
i found a few registry keys that allowed some customization but is anyone aware of a more complete list of possible registry modifications to customize the app designer text editor?
e.g. the examples i have found so far include
"PeoplecodeText"="Text,0,16777215,1,1"
"PeoplecodeTextSelection"="Text Selection,0,65280,0,0"
"PeoplecodeNumber"="Number,16512,16777215,0,1"
"PeoplecodeOperator"="Operator,32896,16777215,0,1"
"PeoplecodeComment"="Comment,10789024,16777215,0,1"
"PeoplecodeQuotedString"="QuotedString,255,16777215,0,1"
"PeoplecodeKeyword"="Keyword,16744448,16777215,0,1"
"PeoplecodeClassDefn"="ClassDefn,8421376,16777215,0,1"
"PeoplecodeBuiltin"="Builtin,8388736,16777215,0,1"

How to add CKEditor plugins client-via side JavaScript?

Several online services that I use for work incorporate CKEditor (namely, desk.com and targetprocess.com), but neither includes find/replace functionality, because I guess neither knows that it's almost 2017.
I am pretty handy with JavaScript, and I wonder if there's a way to trick CKEditor into using a find/replace plugin such as http://ckeditor.com/addon/find via client-side JavaScript?
Obviously, I don't have access to the source code at either desk.com or targetprocess, and I am willing to "roll my own" until they get around to including it.
If the plugins you are looking for are in fact present on the websites you are using, then you may try destroying the CKEditor instance and starting CKEditor with your own settings e.g. with different toolbar and with plugins enabled via http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-extraPlugins (e.g. using Greasemonkey, by writing a browser extension that works on selected domains etc.)

Adding code snippets to a blog post in Lemoon

Does anyone have experience with adding formatted code snippets to a blog post using Lemoon? I have been using Syntax Highlighter in other systems and like it fine, but I'm wondering first if there's a built in solution in Lemoon. I noticed that the system uses codemirror for HTML view for editing content and wondered if that might also be used for formatting code snippets. Thanks.
Lemoon has a built in code EDITOR that uses codemirror. Just decorate your field appropriately as described here. This applies only to the administrative section of Lemoon.
You could use this field type to write your markup and snippets, but I guess you are looking for a better way to insert code snippets in your blog posts.
It is possible to configure the standard Lemoon HTML editor (TinyMce 3.x) to use a plugin that enables you to insert code snippets. https://github.com/RichGuk/syntaxhl looks promising (haven’t tried it though). You will find the TinyMce config files in the app_data\settings folder.
Another alternative is to switch to the HTML source and manually add the pre or code elements as needed.
As for presenting the snippets on your site, you could use codemirror (configured as read-only) or perhaps you are better off sticking with SyntaxHighlighter. In any way, you have to include the appropriate JavaScript files and handle the initialization yourself.

How can I write a plugin for VS2010 using MEF?

I've seen lots of MEF code for plugging into custom apps, but I am yet to find out how to write a plugin for VS2010 using MEF. I was under the impression that the new IDE supported this.
Does anyone know if this is supported 'out of the box', or does it require an install. Does anyone have any links, tips, etc to get me started.
MEF is the primary extension mechanism for extending the editor. If you install the SDK, there are a few new project samples set up to create editor extensions, found under C# (or VB)->Extensibility. These include:
Editor classifier – for providing syntax highlighting
Editor margin – putting a margin along the sides of the editor, with arbitrary WPF content
Editor text/viewport adornment – for putting WPF visuals into the editor
You can find overview documentation on MSDN: Extending the editor, and Editor extension points.
Some samples you may want to look at: editor samples on code.msdn.microsoft.com, a couple more on editorsamples.codeplex.com, and the source for all the samples I've written.
I blog about writing editor extensions. On there, you can find descriptions of most of the extensions I've written, along with more general posts about performance, design of the new editor, etc.
Questions posted on the editor forum on msdn also are answered by various members of the editor team.

Common usages of views and editors in Eclipse RCP applications regarding to enterprise automation?

I am a software developer working with different ERPs based on different platforms. Java is one of them. I've decided to learn Eclipse RCP. I am trying to understand the basics of Eclipse RCP regarding its views and editors concept.
Working with other platforms I don't care how to make a form in GUI. All the forms in my application can show data say from a DB or save this data back into the DB. And I don't care if a form shows the list of entities or a detailed info about an entity.
Here, in Eclipse RCP, I see that a form can reside in a view or in an editor. What is the difference between them? I would like to hear these differences from a business point of view, please. Or maybe these differences can be explained only in terms like "editor cannot have its own toolbar"? I would like to understand the purposes or common usages as a user not as a developer.
Thank you.
The wiki has a goof FAQ on this topic
There is generally only one instance of a given view per workbench page, but there can be several instances of the same type of editor.
Editors can appear in only one region of the page, whereas views can be moved to any part of the page and minimized as fast views.
Editors can be in a dirty state, meaning that their contents are unsaved and will be lost if the editor is closed without saving.
Views have a local toolbar, whereas editors contribute buttons to the global toolbar.
Editors can be associated with a file name or an extension, and this association can be changed by users.
Some advanced use are mentioned
here, about the ability to reuse an editor for several types of file.
or there, for linking to an editor
Views can have a different organization than editor: see fast view.
In broad terms:
Use editors for the main editable "documents".
Document lifecycle (open/dirty/save/close) fits neatly with editors.
Use all sorts of rich controls, hyperlinks, etc. It doesn't have to be a text editor.
Use views to provide optional supplementary analysis/manipulation of the document in the current editor.
Use views for other (often cross-document) navigation, analysis, search results, etc.

Resources