]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
updated for version 7.0222
authorBram Moolenaar <Bram@vim.org>
Sun, 12 Mar 2006 22:05:10 +0000 (22:05 +0000)
committerBram Moolenaar <Bram@vim.org>
Sun, 12 Mar 2006 22:05:10 +0000 (22:05 +0000)
runtime/doc/options.txt
runtime/lang/menu_de_de.latin1.vim
src/ex_getln.c
src/popupmenu.c
src/screen.c
src/version.h

index 9fd66a1ba520f639a43458746c0febd61a3f7df1..52ae467b5833ad52c8b03e22914e25f7fa2bcaaf 100644 (file)
@@ -1,4 +1,4 @@
-*options.txt*  For Vim version 7.0aa.  Last change: 2006 Mar 11
+*options.txt*  For Vim version 7.0aa.  Last change: 2006 Mar 12
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2044,6 +2044,28 @@ A jump table for the options with a short description can be found at |Q_op|.
        Give messages when adding a cscope database.  See |cscopeverbose|.
        NOTE: This option is reset when 'compatible' is set.
 
+
+                       *'cursorcolumn'* *'cuc'* *'nocursorcolumn'* *'nocuc'*
+'cursorcolumn' 'cuc'   boolean (default off)
+                       local to window
+                       {not in Vi}
+                       {not available when compiled without the  |+syntax|
+                       feature}
+       Highlight the screen column of the cursor with CursorColumn
+       |hl-CursorColumn|.  Useful to align text.  Will make screen redrawing
+       slower.
+
+                       *'cursorline'* *'cul'* *'nocursorline'* *'nocul'*
+'cursorline' 'cul'     boolean (default off)
+                       local to window
+                       {not in Vi}
+                       {not available when compiled without the  |+syntax|
+                       feature}
+       Highlight the screen line of the cursor with CursorLine
+       |hl-CursorLine|.  Useful to easily spot the cursor.  Will make screen
+       redrawing slower.
+
+
                                                *'debug'*
 'debug'                        string  (default "")
                        global
index 22e3395205d1a68de23b4594def285c88127b79f..6254d097e334b6c5b2914dd997426c835713ac00 100644 (file)
@@ -2,7 +2,7 @@
 " Maintainer:          Georg Dahn <gorgyd@yahoo.co.uk>
 " Originally By:       Marcin Dalecki <dalecki@cs.net.pl>
 "                      Johannes Zellner <johannes@zellner.org>
-" Last Change: Sun, 5 Mar 2006 07:20:00 CEST
+" Last Change: Sat, 11 Mar 2006 22:40:00 CEST
 " vim:set foldmethod=marker tabstop=8:
 
 " Quit when menu translations have already been done.
@@ -101,13 +101,13 @@ menutrans &Keymap                                 &Tastatur-Belegung
 " }}} EDIT / EDITIEREN
 
 " {{{  TOOLS / WERKZEUGE
-if has("syntax")
-    menutrans &Spelling                                        &Rechtschreibung
-    menutrans &Spell\ Check\ On                                &Rechtschreibung\ an
-    menutrans Spell\ Check\ &Off                       Rechtschreibung\ &aus
-    menutrans To\ &Next\ error<Tab>]s                  Zum\ &nächsten\ Fehler<Tab>]s
-    menutrans To\ &Previous\ error<Tab>[s              Zum\ &letzten\ Fehler<Tab>[s
-    menutrans Suggest\ &Corrections<Tab>z?             &Korrekturvorschläge<Tab>z?
+if has("spell")
+    menutrans &Spelling                                        &Rechtschreibprüfung
+    menutrans &Spell\ Check\ On                                &Rechtschreibprüfung\ An
+    menutrans Spell\ Check\ &Off                       Rechtschreibprüfung\ &Aus
+    menutrans To\ &Next\ error<Tab>]s                  Zum\ &Nächsten\ Fehler<Tab>]s
+    menutrans To\ &Previous\ error<Tab>[s              Zum\ &Letzten\ Fehler<Tab>[s
+    menutrans Suggest\ &Corrections<Tab>z=             &Korrekturvorschläge<Tab>z=
     menutrans &Repeat\ correction<Tab>:spellrepall     &Wiederhole\ Korrektur<Tab>:spellrepall
     menutrans Set\ language\ to\ "en"                  Verwende\ Wörterbuch\ "en"
     menutrans Set\ language\ to\ "en_au"               Verwende\ Wörterbuch\ "en_au"
@@ -115,6 +115,7 @@ if has("syntax")
     menutrans Set\ language\ to\ "en_gb"               Verwende\ Wörterbuch\ "en_gb"
     menutrans Set\ language\ to\ "en_nz"               Verwende\ Wörterbuch\ "en_nz"
     menutrans Set\ language\ to\ "en_us"               Verwende\ Wörterbuch\ "en_us"
+    menutrans Set\ language\ to\ "de"                  Verwende\ Wörterbuch\ "de"
     menutrans &Find\ More\ Languages                   &Suche\ nach\ Wörterbüchern
 endif
 if has("folding")
@@ -164,6 +165,7 @@ menutrans &Older\ List<Tab>:cold                    &
 menutrans N&ewer\ List<Tab>:cnew                       &Neuere\ Liste<Tab>:cnew
 
 menutrans Error\ &Window                               Feh&ler-Fenster
+menutrans Se&t\ Compiler                               &Compiler
 menutrans Se&T\ Compiler                               &Compiler
 menutrans &Update<Tab>:cwin                            &Aktualisieren<Tab>:cwin
 menutrans &Open<Tab>:copen                             &Öffnen<Tab>:copen
@@ -194,7 +196,6 @@ menutrans Delete                                    L
 menutrans &Alternate                                   &Wechseln
 menutrans &Next                                                &Nächster
 menutrans &Previous                                    &Vorheriger
-menutrans [No\ File]                                   [Keine\ Datei]
 " }}} BUFFERS / PUFFER
 
 " {{{ WINDOW / ANSICHT
@@ -243,7 +244,7 @@ menutrans Cu&t                              Aus&schneiden
 menutrans &Copy                                &Kopieren
 menutrans &Paste                       &Einfügen
 menutrans &Delete                      &Löschen
-menutrans Select\ Blockwise            Auswahl\ Blockartig
+menutrans Select\ Blockwise            Auswahl\ blockartig
 menutrans Select\ &Word                        Auswahl\ des\ &Wortes
 menutrans Select\ &Sentence             Auswahl\ des\ Sa&tzes
 menutrans Select\ Pa&ragraph            Auswahl\ des\ Absatzes
index 19b623c397204a0ae86d1e9edaf6bc47c086bb69..e7fc0be87b3c223750354663c5d1cdf9eb12803a 100644 (file)
@@ -1733,7 +1733,7 @@ cmdline_changed:
            validate_cursor();
 
            save_cmdline(&save_ccline);
-           update_screen(NOT_VALID);
+           update_screen(SOME_VALID);
            restore_cmdline(&save_ccline);
 
            msg_starthere();
@@ -1781,7 +1781,7 @@ returncmd:
        curwin->w_botline = old_botline;
        highlight_match = FALSE;
        validate_cursor();      /* needed for TAB */
-       redraw_later(NOT_VALID);
+       redraw_later(SOME_VALID);
     }
 #endif
 
@@ -5849,7 +5849,7 @@ ex_window()
     curwin->w_cursor.col = ccline.cmdpos;
     changed_line_abv_curs();
     invalidate_botline();
-    redraw_later(NOT_VALID);
+    redraw_later(SOME_VALID);
 
     /* Save the command line info, can be used recursively. */
     save_ccline = ccline;
index 1c575a2407b424a6dd08876b44c99e71ec521cbc..752f1832d40dd358a4569edb6f1a8aef1cfdfce3 100644 (file)
@@ -454,7 +454,7 @@ pum_set_selected(n)
                    {
                        /* Return cursor to where we were */
                        validate_cursor();
-                       redraw_later(NOT_VALID);
+                       redraw_later(SOME_VALID);
 
                        /* When the preview window was resized we need to
                         * update the view on the buffer.  Only go back to
@@ -498,7 +498,7 @@ pum_set_selected(n)
 pum_undisplay()
 {
     pum_array = NULL;
-    redraw_all_later(NOT_VALID);
+    redraw_all_later(SOME_VALID);
 }
 
 /*
index 781c19270a4fce64029cce4995b0d9e8ec61bbfc..44e5d171536b101b46c490ab42e73739d6928aae 100644 (file)
  * must call redraw_curbuf_later(NOT_VALID) to have all the windows for the
  * buffer redisplayed by update_screen() later.
  *
+ * Commands that change highlighting and possibly cause a scroll too must call
+ * redraw_later(SOME_VALID) to update the whole window but still use scrolling
+ * to avoid redrawing everything.  But the length of displayed lines must not
+ * change, use NOT_VALID then.
+ *
  * Commands that move the window position must call redraw_later(NOT_VALID).
  * TODO: should minimize redrawing by scrolling when possible.
  *
@@ -736,6 +741,7 @@ updateWindow(wp)
  * How the window is redrawn depends on wp->w_redr_type.  Each type also
  * implies the one below it.
  * NOT_VALID   redraw the whole window
+ * SOME_VALID  redraw the whole window but do scroll when possible
  * REDRAW_TOP  redraw the top w_upd_rows window lines, otherwise like VALID
  * INVERTED    redraw the changed part of the Visual area
  * INVERTED_ALL        redraw the whole Visual area
@@ -1022,7 +1028,8 @@ win_update(wp)
      * 3: wp->w_topline is wp->w_lines[0].wl_lnum: find first entry in
      *    w_lines[] that needs updating.
      */
-    if ((type == VALID || type == INVERTED || type == INVERTED_ALL)
+    if ((type == VALID || type == SOME_VALID
+                                 || type == INVERTED || type == INVERTED_ALL)
 #ifdef FEAT_DIFF
            && !wp->w_botfill && !wp->w_old_botfill
 #endif
@@ -1223,6 +1230,14 @@ win_update(wp)
        mid_end = wp->w_height;
     }
 
+    if (type == SOME_VALID)
+    {
+       /* SOME_VALID: redraw all lines. */
+       mid_start = 0;
+       mid_end = wp->w_height;
+       type = NOT_VALID;
+    }
+
 #ifdef FEAT_VISUAL
     /* check if we are updating or removing the inverted part */
     if ((VIsual_active && buf == curwin->w_buffer)
@@ -2386,6 +2401,12 @@ fold_line(wp, fold_count, foldinfo, lnum, row)
     }
 #endif
 
+#ifdef FEAT_SYN_HL
+    /* Show 'cursorcolumn' in the fold line. */
+    if (wp->w_p_cuc && (int)wp->w_virtcol + txtcol < W_WIDTH(wp))
+       ScreenAttrs[off + wp->w_virtcol + txtcol] = hl_combine_attr(
+                ScreenAttrs[off + wp->w_virtcol + txtcol], hl_attr(HLF_CUC));
+#endif
 
     SCREEN_LINE(row + W_WINROW(wp), W_WINCOL(wp), (int)W_WIDTH(wp),
                                                     (int)W_WIDTH(wp), FALSE);
@@ -2543,9 +2564,12 @@ win_line(wp, lnum, startrow, endrow, nochange)
     int                area_attr = 0;          /* attributes desired by highlighting */
     int                search_attr = 0;        /* attributes desired by 'hlsearch' */
 #ifdef FEAT_SYN_HL
+    int                vcol_save_attr = 0;     /* saved attr for 'cursorcolumn' */
     int                syntax_attr = 0;        /* attributes desired by syntax */
     int                has_syntax = FALSE;     /* this buffer has syntax highl. */
     int                save_did_emsg;
+#endif
+#ifdef FEAT_SPELL
     int                has_spell = FALSE;      /* this buffer has spell checking */
 # define SPWORDLEN 150
     char_u     nextline[SPWORDLEN * 2];/* text with start of the next line */
@@ -2658,7 +2682,9 @@ win_line(wp, lnum, startrow, endrow, nochange)
            extra_check = TRUE;
        }
     }
+#endif
 
+#ifdef FEAT_SPELL
     if (wp->w_p_spell
            && *wp->w_buffer->b_p_spl != NUL
            && wp->w_buffer->b_langp.ga_len > 0
@@ -2857,7 +2883,7 @@ win_line(wp, lnum, startrow, endrow, nochange)
     line = ml_get_buf(wp->w_buffer, lnum, FALSE);
     ptr = line;
 
-#ifdef FEAT_SYN_HL
+#ifdef FEAT_SPELL
     if (has_spell)
     {
        /* For checking first word with a capital skip white space. */
@@ -2964,7 +2990,7 @@ win_line(wp, lnum, startrow, endrow, nochange)
        if (wp->w_p_wrap)
            need_showbreak = TRUE;
 #endif
-#ifdef FEAT_SYN_HL
+#ifdef FEAT_SPELL
        /* When spell checking a word we need to figure out the start of the
         * word and if it's badly spelled or not. */
        if (has_spell)
@@ -2994,9 +3020,11 @@ win_line(wp, lnum, startrow, endrow, nochange)
            }
            wp->w_cursor = pos;
 
+# ifdef FEAT_SYN_HL
            /* Need to restart syntax highlighting for this line. */
            if (has_syntax)
                syntax_start(wp, lnum);
+# endif
        }
 #endif
     }
@@ -3077,6 +3105,15 @@ win_line(wp, lnum, startrow, endrow, nochange)
     }
 #endif
 
+#ifdef FEAT_SYN_HL
+    /* Cursor line highlighting for 'cursorline'. */
+    if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
+    {
+       line_attr = hl_attr(HLF_CUL);
+       area_highlighting = TRUE;
+    }
+#endif
+
     off = (unsigned)(current_ScreenLine - ScreenLines);
     col = 0;
 #ifdef FEAT_RIGHTLEFT
@@ -3221,6 +3258,12 @@ win_line(wp, lnum, startrow, endrow, nochange)
                        c_extra = ' ';
                    n_extra = number_width(wp) + 1;
                    char_attr = hl_attr(HLF_N);
+#ifdef FEAT_SYN_HL
+                   /* When 'cursorline' is set highlight the line number of
+                    * the current line differently. */
+                   if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
+                       char_attr = hl_combine_attr(hl_attr(HLF_CUL), char_attr);
+#endif
                }
            }
 
@@ -3723,9 +3766,11 @@ win_line(wp, lnum, startrow, endrow, nochange)
 
            if (extra_check)
            {
-#ifdef FEAT_SYN_HL
+#ifdef FEAT_SPELL
                int     can_spell = TRUE;
+#endif
 
+#ifdef FEAT_SYN_HL
                /* Get syntax attribute, unless still at the start of the line
                 * (double-wide char that doesn't fit). */
                v = (long)(ptr - line);
@@ -3737,7 +3782,10 @@ win_line(wp, lnum, startrow, endrow, nochange)
                    did_emsg = FALSE;
 
                    syntax_attr = get_syntax_attr((colnr_T)v - 1,
-                                              has_spell ? &can_spell : NULL);
+# ifdef FEAT_SPELL
+                                              has_spell ? &can_spell :
+# endif
+                                              NULL);
 
                    if (did_emsg)
                    {
@@ -3757,7 +3805,9 @@ win_line(wp, lnum, startrow, endrow, nochange)
                    else
                        char_attr = hl_combine_attr(syntax_attr, char_attr);
                }
+#endif
 
+#ifdef FEAT_SPELL
                /* Check spelling (unless at the end of the line).
                 * Only do this when there is no syntax highlighting, the
                 * @Spell cluster is not used or the current syntax item
@@ -3765,9 +3815,15 @@ win_line(wp, lnum, startrow, endrow, nochange)
                if (has_spell && v >= word_end && v > cur_checked_col)
                {
                    spell_attr = 0;
+# ifdef FEAT_SYN_HL
                    if (!attr_pri)
                        char_attr = syntax_attr;
-                   if (c != 0 && (!has_syntax || can_spell))
+# endif
+                   if (c != 0 && (
+# ifdef FEAT_SYN_HL
+                               !has_syntax ||
+# endif
+                               can_spell))
                    {
                        char_u  *prev_ptr, *p;
                        int     len;
@@ -4212,7 +4268,38 @@ win_line(wp, lnum, startrow, endrow, nochange)
                else
 #endif
                    ++col;
+               ++vcol;
+           }
+
+#ifdef FEAT_SYN_HL
+           /* Highlight 'cursorcolumn' past end of the line. */
+           if (wp->w_p_cuc
+                   && (int)wp->w_virtcol >= vcol
+                   && (int)wp->w_virtcol < W_WIDTH(wp)
+                   && lnum != wp->w_cursor.lnum
+# ifdef FEAT_RIGHTLEFT
+                   && !wp->w_p_rl
+# endif
+                   )
+           {
+               while (col < W_WIDTH(wp))
+               {
+                   ScreenLines[off] = ' ';
+#ifdef FEAT_MBYTE
+                   if (enc_utf8)
+                       ScreenLinesUC[off] = 0;
+#endif
+                   ++col;
+                   if (vcol == wp->w_virtcol)
+                   {
+                       ScreenAttrs[off] = hl_attr(HLF_CUC);
+                       break;
+                   }
+                   ScreenAttrs[off++] = 0;
+                   ++vcol;
+               }
            }
+#endif
 
            SCREEN_LINE(screen_row, W_WINCOL(wp), col, (int)W_WIDTH(wp),
                                                                  wp->w_p_rl);
@@ -4264,6 +4351,20 @@ win_line(wp, lnum, startrow, endrow, nochange)
 #endif
        }
 
+#ifdef FEAT_SYN_HL
+       /* Highlight the cursor column if 'cursorcolumn' is set.  But don't
+        * highlight the cursor position itself. */
+       if (wp->w_p_cuc && vcol == wp->w_virtcol
+               && lnum != wp->w_cursor.lnum
+               && draw_state == WL_LINE)
+       {
+           vcol_save_attr = char_attr;
+           char_attr = hl_combine_attr(char_attr, hl_attr(HLF_CUC));
+       }
+       else
+           vcol_save_attr = -1;
+#endif
+
        /*
         * Store character to be displayed.
         * Skip characters that are left of the screen for 'nowrap'.
@@ -4361,6 +4462,11 @@ win_line(wp, lnum, startrow, endrow, nochange)
                )
            ++vcol;
 
+#ifdef FEAT_SYN_HL
+       if (vcol_save_attr >= 0)
+           char_attr = vcol_save_attr;
+#endif
+
        /* restore attributes after "predeces" in 'listchars' */
        if (draw_state > WL_NR && n_attr3 > 0 && --n_attr3 == 0)
            char_attr = saved_attr3;
@@ -4514,7 +4620,7 @@ win_line(wp, lnum, startrow, endrow, nochange)
 
     }  /* for every character in the line */
 
-#ifdef FEAT_SYN_HL
+#ifdef FEAT_SPELL
     /* After an empty line check first word for capital. */
     if (*skipwhite(line) == NUL)
     {
@@ -4687,7 +4793,9 @@ screen_line(row, coloff, endcol, clear_width
        if (redraw_next && gui.in_use)
        {
            hl = ScreenAttrs[off_to + CHAR_CELLS];
-           if (hl > HL_ALL || (hl & HL_BOLD))
+           if (hl > HL_ALL)
+               hl = syn_attr2attr(hl);
+           if (hl & HL_BOLD)
                redraw_this = TRUE;
        }
 #endif
@@ -4816,7 +4924,9 @@ screen_line(row, coloff, endcol, clear_width
                    )
            {
                hl = ScreenAttrs[off_to];
-               if (hl > HL_ALL || (hl & HL_BOLD))
+               if (hl > HL_ALL)
+                   hl = syn_attr2attr(hl);
+               if (hl & HL_BOLD)
                    redraw_next = TRUE;
            }
 #endif
index 157671f34ee48ba99ecae877f8dbcd3a8f6dac83..183269fc040ea46650deb96d93816b4b65421da7 100644 (file)
@@ -36,5 +36,5 @@
 #define VIM_VERSION_NODOT      "vim70aa"
 #define VIM_VERSION_SHORT      "7.0aa"
 #define VIM_VERSION_MEDIUM     "7.0aa ALPHA"
-#define VIM_VERSION_LONG       "VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 11)"
-#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 11, compiled "
+#define VIM_VERSION_LONG       "VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 12)"
+#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 12, compiled "