[autocomplete] 138/143: Adding readme.md
Benjamin Mesing
ben at alioth.debian.org
Sat Oct 19 12:53:32 UTC 2013
This is an automated email from the git hooks/post-receive script.
ben pushed a commit to branch master
in repository autocomplete.
commit 8c17808999062c271726338ec55901d5343e2e52
Author: bobbylight <robert at fifesoft.com>
Date: Mon Aug 12 22:51:06 2013 -0400
Adding readme.md
---
README.md | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 116 insertions(+)
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..fb3cd5f
--- /dev/null
+++ b/README.md
@@ -0,0 +1,116 @@
+AutoComplete is a code completion library for Swing JTextComponents, with enhanced functionality available when used with its sister project [RSyntaxTextArea](https://github.com/bobbylight/RSyntaxTextArea).
+
+Features include a completion choices list that updates as the user types, a "documentation" companion window for displaying documentation about the currently selected completion choice, and parameter assistance (e.g. tabbing through function/method parameters, with tool tip assistance for each argument and a possible list of valid variable completions for each).
+
+AutoComplete is available under a [modified BSD license](https://github.com/bobbylight/AutoComplete/blob/master/distfiles/AutoComplete.License.txt). For more information, visit [http://fifesoft.com/rsyntaxtextarea](http://fifesoft.com/autocomplete).
+
+# Example Usage
+
+The examle below shows how to add code completion for simple keywords to RSyntaxTextArea.
+
+```java
+import java.awt.*;
+import javax.swing.*;
+import org.fife.ui.autocomplete.*;
+import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
+import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
+import org.fife.ui.rtextarea.RTextScrollPane;
+
+public class AutoCompleteDemo extends JFrame {
+
+ public AutoCompleteDemo() {
+
+ JPanel contentPane = new JPanel(new BorderLayout());
+ RSyntaxTextArea textArea = new RSyntaxTextArea(20, 60);
+ textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
+ textArea.setCodeFoldingEnabled(true);
+ contentPane.add(new RTextScrollPane(textArea));
+
+ // A CompletionProvider is what knows of all possible completions, and
+ // analyzes the contents of the text area at the caret position to
+ // determine what completion choices should be presented. Most instances
+ // of CompletionProvider (such as DefaultCompletionProvider) are designed
+ // so that they can be shared among multiple text components.
+ CompletionProvider provider = createCompletionProvider();
+
+ // An AutoCompletion acts as a "middle-man" between a text component
+ // and a CompletionProvider. It manages any options associated with
+ // the auto-completion (the popup trigger key, whether to display a
+ // documentation window along with completion choices, etc.). Unlike
+ // CompletionProviders, instances of AutoCompletion cannot be shared
+ // among multiple text components.
+ AutoCompletion ac = new AutoCompletion(provider);
+ ac.install(textArea);
+
+ setContentPane(contentPane);
+ setTitle("AutoComplete Demo");
+ setDefaultCloseOperation(EXIT_ON_CLOSE);
+ pack();
+ setLocationRelativeTo(null);
+
+ }
+
+ /**
+ * Create a simple provider that adds some Java-related completions.
+ */
+ private CompletionProvider createCompletionProvider() {
+
+ // A DefaultCompletionProvider is the simplest concrete implementation
+ // of CompletionProvider. This provider has no understanding of
+ // language semantics. It simply checks the text entered up to the
+ // caret position for a match against known completions. This is all
+ // that is needed in the majority of cases.
+ DefaultCompletionProvider provider = new DefaultCompletionProvider();
+
+ // Add completions for all Java keywords. A BasicCompletion is just
+ // a straightforward word completion.
+ provider.addCompletion(new BasicCompletion(provider, "abstract"));
+ provider.addCompletion(new BasicCompletion(provider, "assert"));
+ provider.addCompletion(new BasicCompletion(provider, "break"));
+ provider.addCompletion(new BasicCompletion(provider, "case"));
+ // ... etc ...
+ provider.addCompletion(new BasicCompletion(provider, "transient"));
+ provider.addCompletion(new BasicCompletion(provider, "try"));
+ provider.addCompletion(new BasicCompletion(provider, "void"));
+ provider.addCompletion(new BasicCompletion(provider, "volatile"));
+ provider.addCompletion(new BasicCompletion(provider, "while"));
+
+ // Add a couple of "shorthand" completions. These completions don't
+ // require the input text to be the same thing as the replacement text.
+ provider.addCompletion(new ShorthandCompletion(provider, "sysout",
+ "System.out.println(", "System.out.println("));
+ provider.addCompletion(new ShorthandCompletion(provider, "syserr",
+ "System.err.println(", "System.err.println("));
+
+ return provider;
+
+ }
+
+ public static void main(String[] args) {
+ // Instantiate GUI on the EDT.
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ try {
+ String laf = UIManager.getSystemLookAndFeelClassName();
+ UIManager.setLookAndFeel(laf);
+ } catch (Exception e) { /* Never happens */ }
+ new AutoCompleteDemo().setVisible(true);
+ }
+ });
+ }
+
+}
+```
+# Sister Projects
+
+* [RSyntaxTextArea](https://github.com/bobbylight/RSyntaxTextArea) provides syntax highlighting, code folding, and many other features out-of-the-box.
+* [RSTALanguageSupport](https://github.com/bobbylight/RSTALanguageSupport) - Code completion for RSTA for the following languages: Java, JavaScript, HTML, PHP, JSP, Perl, C, Unix Shell. Built on both RSTA and AutoComplete.
+* [SpellChecker](https://github.com/bobbylight/SpellChecker) - Adds squiggle-underline spell checking to RSyntaxTextArea.
+* [RSTAUI](https://github.com/bobbylight/RSTAUI) - Common dialogs needed by text editing applications: Find, Replace, Go to Line, File Properties.
+
+# Getting Help
+
+* Add an issue on GitHub
+* Ask in the [project forum](http://fifesoft.com/forum/)
+* Check the project's [home page](http://fifesoft.com/autocomplete)
+
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/autocomplete.git
More information about the pkg-java-commits
mailing list