root/src/indent.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


     1 /* Definitions for interface to indent.c
     2    Copyright (C) 1985-1986, 2001-2023 Free Software Foundation, Inc.
     3 
     4 This file is part of GNU Emacs.
     5 
     6 GNU Emacs is free software: you can redistribute it and/or modify
     7 it under the terms of the GNU General Public License as published by
     8 the Free Software Foundation, either version 3 of the License, or (at
     9 your option) any later version.
    10 
    11 GNU Emacs is distributed in the hope that it will be useful,
    12 but WITHOUT ANY WARRANTY; without even the implied warranty of
    13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    14 GNU General Public License for more details.
    15 
    16 You should have received a copy of the GNU General Public License
    17 along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.  */
    18 
    19 #ifndef EMACS_INDENT_H
    20 #define EMACS_INDENT_H
    21 
    22 #include "lisp.h"
    23 
    24 struct position
    25   {
    26     ptrdiff_t bufpos;
    27     ptrdiff_t bytepos;
    28     EMACS_INT hpos;
    29     EMACS_INT vpos;
    30     EMACS_INT prevhpos;
    31     int contin;
    32   };
    33 
    34 struct position *compute_motion (ptrdiff_t from, ptrdiff_t frombyte,
    35                                  EMACS_INT fromvpos, EMACS_INT fromhpos,
    36                                  bool did_motion, ptrdiff_t to,
    37                                  EMACS_INT tovpos, EMACS_INT tohpos,
    38                                  EMACS_INT width, ptrdiff_t hscroll,
    39                                  int tab_offset, struct window *);
    40 struct position *vmotion (ptrdiff_t from, ptrdiff_t from_byte,
    41                           EMACS_INT vtarget, struct window *);
    42 ptrdiff_t skip_invisible (ptrdiff_t pos, ptrdiff_t *next_boundary_p,
    43                           ptrdiff_t to, Lisp_Object window);
    44 
    45 /* Value of point when current_column was called */
    46 extern ptrdiff_t last_known_column_point;
    47 
    48 /* Functions for dealing with the column cache.  */
    49 
    50 /* Return true if the display table DISPTAB specifies the same widths
    51    for characters as WIDTHTAB.  We use this to decide when to
    52    invalidate the buffer's column_cache.  */
    53 bool disptab_matches_widthtab (struct Lisp_Char_Table *disptab,
    54                                struct Lisp_Vector *widthtab);
    55 
    56 /* Recompute BUF's width table, using the display table DISPTAB.  */
    57 void recompute_width_table (struct buffer *buf,
    58                             struct Lisp_Char_Table *disptab);
    59 
    60 #endif /* EMACS_INDENT_H */

/* [<][>][^][v][top][bottom][index][help] */