## IAnjutaEditorLineMode

IAnjutaEditorLineMode — Text editor line mode

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <libanjuta/interfaces/ianjuta-editor-line-mode.h>

    #define             IANJUTA_TYPE_EDITOR_LINE_MODE_TYPE
    #define             IANJUTA_EDITOR_LINE_MODE_ERROR
                        IAnjutaEditorLineMode;
                        IAnjutaEditorLineModeIface;
    enum                IAnjutaEditorLineModeType;
    GQuark              ianjuta_editor_line_mode_error_quark
                                                            (void);
    GType               ianjuta_editor_line_mode_get_type   (void);
    void                ianjuta_editor_line_mode_convert    (IAnjutaEditorLineMode *obj,
                                                             IAnjutaEditorLineModeType mode,
                                                             GError **err);
    void                ianjuta_editor_line_mode_fix        (IAnjutaEditorLineMode *obj,
                                                             GError **err);
    IAnjutaEditorLineModeType  ianjuta_editor_line_mode_get (IAnjutaEditorLineMode *obj,
                                                             GError **err);
    void                ianjuta_editor_line_mode_set        (IAnjutaEditorLineMode *obj,
                                                             IAnjutaEditorLineModeType mode,
                                                             GError **err);

## Object Hierarchy

      GInterface
       +----IAnjutaEditorLineMode

## Prerequisites

IAnjutaEditorLineMode requires IAnjutaEditor and GObject.

## Description

## Details

### IANJUTA_TYPE_EDITOR_LINE_MODE_TYPE

    #define IANJUTA_TYPE_EDITOR_LINE_MODE_TYPE (ianjuta_editor_line_mode_type_get_type())

### IANJUTA_EDITOR_LINE_MODE_ERROR

    #define IANJUTA_EDITOR_LINE_MODE_ERROR ianjuta_editor_line_mode_error_quark()

### IAnjutaEditorLineMode

    typedef struct _IAnjutaEditorLineMode IAnjutaEditorLineMode;

### IAnjutaEditorLineModeIface

    typedef struct {
    	IAnjutaEditorIface g_iface;

    	void (*convert) (IAnjutaEditorLineMode *obj, IAnjutaEditorLineModeType mode, GError **err);
    	void (*fix) (IAnjutaEditorLineMode *obj, GError **err);
    	IAnjutaEditorLineModeType (*get) (IAnjutaEditorLineMode *obj, GError **err);
    	void (*set) (IAnjutaEditorLineMode *obj, IAnjutaEditorLineModeType mode, GError **err);
    } IAnjutaEditorLineModeIface;

### enum IAnjutaEditorLineModeType

    typedef enum {
    	IANJUTA_EDITOR_LINE_MODE_LF,
    	IANJUTA_EDITOR_LINE_MODE_CR,
    	IANJUTA_EDITOR_LINE_MODE_CRLF
    } IAnjutaEditorLineModeType;

This enumeration is used to specify the type of text. Note that not all editors implement this.

`IANJUTA_EDITOR_LINE_MODE_LF` | Line-Feed (Unix)
`IANJUTA_EDITOR_LINE_MODE_CR` | Carat return (Max)
`IANJUTA_EDITOR_LINE_MODE_CRLF` | Caret return + line-feed (Windows)

### ianjuta_editor_line_mode_error_quark ()

    GQuark              ianjuta_editor_line_mode_error_quark
                                                            (void);

Returns : |

### ianjuta_editor_line_mode_get_type ()

    GType               ianjuta_editor_line_mode_get_type   (void);

Returns : |

### ianjuta_editor_line_mode_convert ()

    void                ianjuta_editor_line_mode_convert    (IAnjutaEditorLineMode *obj,
                                                             IAnjutaEditorLineModeType mode,
                                                             GError **err);

Set the line ending mode to the given `mode` and convert all line end characters in the buffer to `mode` line end characters.

`obj` : | Self
`mode` : | Line mode to convert.
`err` : | Error propagation and reporting

### ianjuta_editor_line_mode_fix ()

    void                ianjuta_editor_line_mode_fix        (IAnjutaEditorLineMode *obj,
                                                             GError **err);

Convert EOL characters to majority of line mode. This is helpful when the buffer contains mixed line modes and we want to fix it.

`obj` : | Self
`err` : | Error propagation and reporting

### ianjuta_editor_line_mode_get ()

    IAnjutaEditorLineModeType  ianjuta_editor_line_mode_get (IAnjutaEditorLineMode *obj,
                                                             GError **err);

Get current line ending mode. It is auto-detected from the buffer contents.

`obj` : | Self
`err` : | Error propagation and reporting
Returns : |

### ianjuta_editor_line_mode_set ()

    void                ianjuta_editor_line_mode_set        (IAnjutaEditorLineMode *obj,
                                                             IAnjutaEditorLineModeType mode,
                                                             GError **err);

Set the line ending mode to the given `mode`. Existing line end characters in the buffer are not touched. Only the newly added texts will have `mode` line end characters.

`obj` : | Self
`mode` : | Line mode to set.
`err` : | Error propagation and reporting