On Mar 5, 2013, at 11:57 AM, Bram Moolenaar <[email protected]> wrote:
Hong Xu wrote:
On Tuesday, March 5, 2013 8:16:48 AM UTC-8, Lech Lorens wrote:
Wouldn't it be better to use the existing 'cinoptions' entry jN? It's
related to Java...
This is also what I am hesitating at. But people who need the original 'j'
option may not need this option (and vice versa) for the use of their languages
(Javascript?), so I finally splitted them.
BTW, in the past I made a number of modifications to the indenting
code. It was like treading on a mine field (lots of things I could
break). Would you, please, also include a test case for your
functionality so that the next person that modifies get_c_indent()
does not break what you've achieved?
Thanks for the reminder. I have included the test case in the new
attached patch.
Thanks, tests are good. However, it seems the test passes without your
patch.
I tried without the patch, but they cannot pass on my computer... This
is weird.
"static" is already checked for and skipped above the lines you insert.
Without a flag to enable this. I don't see much of a problem also
skipping the public/private/protected attributes without a flag.
We do need the second check inside the loop, since people may write either:
public static enum
static public enum
Yes, I do agree with you about the flag to enable this. We really don't
need any flags to enable this since nothing is messed up with this
additional feature. I attached a new patch here, with updated code and
an updated test.
Actually, what really matters is the check for "=". I think it should
be ignored for Java, the "j" flag.
I tried to add a flag here, but it seems the 'J' option is broken in
this way (test3 would fail).
Thanks,
Hong
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.
diff -r ad7bbe9ea65b src/misc1.c
--- a/src/misc1.c Tue Feb 26 22:54:11 2013 +0100
+++ b/src/misc1.c Tue Mar 05 18:59:42 2013 -0800
@@ -5460,8 +5460,34 @@
if (STRNCMP(s, "typedef", 7) == 0 && !vim_isIDc(s[7]))
s = cin_skipcomment(s + 7);
- if (STRNCMP(s, "static", 6) == 0 && !vim_isIDc(s[6]))
- s = cin_skipcomment(s + 6);
+ for (;;)
+ {
+ if (STRNCMP(s, "static", 6) == 0 && !vim_isIDc(s[6]))
+ {
+ s = cin_skipcomment(s + 6);
+ continue;
+ }
+
+ if (STRNCMP(s, "public", 6) == 0 && !vim_isIDc(s[6]))
+ {
+ s = cin_skipcomment(s + 6);
+ continue;
+ }
+
+ if (STRNCMP(s, "protected", 9) == 0 && !vim_isIDc(s[9]))
+ {
+ s = cin_skipcomment(s + 9);
+ continue;
+ }
+
+ if (STRNCMP(s, "private", 7) == 0 && !vim_isIDc(s[7]))
+ {
+ s = cin_skipcomment(s + 7);
+ continue;
+ }
+
+ break;
+ }
if (STRNCMP(s, "enum", 4) == 0 && !vim_isIDc(s[4]))
return TRUE;
diff -r ad7bbe9ea65b src/testdir/test3.in
--- a/src/testdir/test3.in Tue Feb 26 22:54:11 2013 +0100
+++ b/src/testdir/test3.in Tue Mar 05 18:59:42 2013 -0800
@@ -318,6 +318,20 @@
maybe
} soppie;
+public static enum
+{
+yes = 0,
+no,
+maybe
+} soppie;
+
+static private enum
+{
+yes = 0,
+no,
+maybe
+} soppie;
+
{
int a,
b;
diff -r ad7bbe9ea65b src/testdir/test3.ok
--- a/src/testdir/test3.ok Tue Feb 26 22:54:11 2013 +0100
+++ b/src/testdir/test3.ok Tue Mar 05 18:59:42 2013 -0800
@@ -306,6 +306,20 @@
maybe
} soppie;
+public static enum
+{
+ yes = 0,
+ no,
+ maybe
+} soppie;
+
+static private enum
+{
+ yes = 0,
+ no,
+ maybe
+} soppie;
+
{
int a,
b;