[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-kawa d389ebd 092/119: Update README.org
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-kawa d389ebd 092/119: Update README.org |
Date: |
Sun, 1 Aug 2021 18:30:45 -0400 (EDT) |
branch: elpa/geiser-kawa
commit d389ebdffc624fa45a987f228b641f3ffce2c87f
Author: spellcard199 <spellcard199@protonmail.com>
Commit: spellcard199 <spellcard199@protonmail.com>
Update README.org
---
README.org | 31 ++++++++++++++++---------------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/README.org b/README.org
index 932f5a2..cf81eae 100644
--- a/README.org
+++ b/README.org
@@ -6,7 +6,7 @@
It has 2 parts:
- =geiser-kawa=: elisp package inside the =elisp= directory that gives the
name to the whole project
-- =kawa-geiser=: maven project written using Kawa's Java API that adds
procedures called by geiser-kawa to a Kawa Scheme REPL
+- =kawa-geiser=: included maven project written using Kawa's Java API. When
it's imported from a Kawa scheme REPL, procedures required by =geiser-kawa= are
added to the Kawa environment
** Supported Kawa versions
:PROPERTIES:
@@ -32,7 +32,7 @@ Only versions of Kawa > 3.1 are supported, mostly due to the
fact that before th
- info: using emacs' Info-mode
- epub: using emacs' eww browser
- kawa- and java-specific:
- - [[#7ca3650a-2658-42f0-8274-96f194768e11][Completion for java's package,
class, field, method names]]
+ - [[#7ca3650a-2658-42f0-8274-96f194768e11][Completion for Java package and
class members (packages, classes, methods, fields)]]
** Unsupported features
@@ -71,14 +71,18 @@ Parameter names: parameter names are retrieved using the
=gnu.bytecode= package
[[https://gitlab.com/kashell/Kawa/-/blob/master/gnu/kawa/lispexpr/LangObjType.java][LangObjType
objects]]: these are special objects that may behave like procedures. When
these are called as procedures, a constructor java method is called. This
method does not have the same name as the symbol you insert in Kawa, so I
decided that it was a good idea to show the method name as part of the
displayed module, preceded by a colon. I don't know if it's a good idea, but it
would be easy to chang [...]
-** About completion for java's fields, methods and packages
+Autodoc for macros: not supported.
+
+** About completion for Java package and class members (packages, classes,
methods, fields)
:PROPERTIES:
:CUSTOM_ID: 7ca3650a-2658-42f0-8274-96f194768e11
:END:
-The whole project is in a persistent "experimental" state, but this part even
more so because it's based on assumptions I'm not sure about.
+The whole project is in a persistent "experimental" state, but this part even
more so because it's based on assumptions that:
+- I'm not sure about
+- May not hold anymore if/when the Kawa compiler changes how accessing
packages and class members is represented in its AST/Expression tree
-The main interactive elisp function is =geiser-kawa-complete-fmp-at-point=. By
default, it's not bound to a key. (fmp stands for field-method-package).
+The main interactive elisp function is
=geiser-kawa-devutil-complete-at-point=. By default, it's not bound to any key.
Supported forms (with issues) are:
- completion for package and class names: dot notation, like in java
@@ -88,18 +92,15 @@ Supported forms (with issues) are:
- =invoke=
- =invoke-static=
- colon notation
+Unsupported forms:
+ - Kawa's star-colon notation (e.g: =(*:getClass "foobar")=)
How it works (the region getting part is quite rudimentray):
-1. A region of the current buffer and cursor point inside it are sent to
kawa-geiser, which uses
[[https://gitlab.com/spellcard199/kawa-devutil][kawa-devutil]] for actual
functionality. The region of the buffer goes:
- - from: either:
- - =(geiser-syntax--pop-to-top)=, if non-nil
- - =(line-beginning-position)=, if =(geiser-syntax--pop-to-top)= is
=nil=
- - to: either:
- - end of sexp beginning at toplevel, if =(geiser-syntax--pop-to-top)=
is non-nil
- - =(line-end-position)=, if =(geiser-syntax--pop-to-top)= is =nil=
-2. [[https://gitlab.com/spellcard199/kawa-devutil][kawa-devutil]]'s completion
method is called passing code and cursor point
-
-You can find some examples and known issues in
[[https://gitlab.com/spellcard199/kawa-devutil][kawa-devutil]]'README.
+1. A region of the current buffer and cursor point inside it are sent to a
Kawa procedure
+2. kawa-devutil's pattern matching is run on the resulting Expression tree
+3. If a match is found, the data is returned to Emacs
+
+You can find some examples and known issues in
[[https://gitlab.com/spellcard199/kawa-devutil][kawa-devutil]]'s README.
** Difference from
[[https://gitlab.com/spellcard199/geiser-kawa-scheme][geiser-kawa-scheme]]
- [nongnu] elpa/geiser-kawa 0f5c744 016/119: Avoid issues with older Kawa versions when using quickstart.el, (continued)
- [nongnu] elpa/geiser-kawa 0f5c744 016/119: Avoid issues with older Kawa versions when using quickstart.el, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 5651a3a 031/119: Add message if no completions found, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa cebaa28 042/119: Add test, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 6495077 064/119: Fix: replace lang.getEnvironment() with Environment.user() as default environment, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa b15c4bc 069/119: TODO.org: add todo, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 56b7524 076/119: Add more elisp tests, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 0fd7c30 086/119: README.org: update, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa f8cf352 096/119: Update kawa-devutil version + add Random_notes.org, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa df35e6b 099/119: Add unwind-protect in geiser-kawa-deps--run-kawa-unadviced, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 58ef04d 089/119: Add autodoc support for LangObjType, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa d389ebd 092/119: Update README.org,
Philip Kaludercic <=
- [nongnu] elpa/geiser-kawa 4141232 103/119: melpa/melpa#6858 - Avoid "Unused lexical argument" warnings prepending "_" to parameter names, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa c4de6bb 117/119: pom.xml - update kawa-devutil version (adds support for Java 8), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa f0f5441 002/119: README.org - Add mention about difference from geiser-kawa-scheme, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa a42e807 022/119: Fix warnings when running 'mvn package', Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 088654b 033/119: Fix function definition is void: word-at-point, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 6d4c6f5 004/119: Update .gitignore, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 274f990 024/119: Use mvnw (maven-wrapper) as default command to compile kawa-geiser, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 55efc48 043/119: Fix non-passing Autodoc test, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa a709cfc 027/119: Small reword in README, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-kawa 4938a98 049/119: Update kawa-devutil dep + fix code accordingly, Philip Kaludercic, 2021/08/01