/* vim-emulation.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __PLUGINS_VIM_EMULATION_VIM_EMULATION_H__
#define __PLUGINS_VIM_EMULATION_VIM_EMULATION_H__

#include <libpeas.h>
#include "codecore.h"
#include <glib-object.h>
#include <glib.h>

G_BEGIN_DECLS

#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define SCRATCH_PLUGINS_TYPE_VIM_EMULATION (scratch_plugins_vim_emulation_get_type ())
#define SCRATCH_PLUGINS_VIM_EMULATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SCRATCH_PLUGINS_TYPE_VIM_EMULATION, ScratchPluginsVimEmulation))
#define SCRATCH_PLUGINS_VIM_EMULATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SCRATCH_PLUGINS_TYPE_VIM_EMULATION, ScratchPluginsVimEmulationClass))
#define SCRATCH_PLUGINS_IS_VIM_EMULATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SCRATCH_PLUGINS_TYPE_VIM_EMULATION))
#define SCRATCH_PLUGINS_IS_VIM_EMULATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SCRATCH_PLUGINS_TYPE_VIM_EMULATION))
#define SCRATCH_PLUGINS_VIM_EMULATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SCRATCH_PLUGINS_TYPE_VIM_EMULATION, ScratchPluginsVimEmulationClass))

typedef struct _ScratchPluginsVimEmulation ScratchPluginsVimEmulation;
typedef struct _ScratchPluginsVimEmulationClass ScratchPluginsVimEmulationClass;
typedef struct _ScratchPluginsVimEmulationPrivate ScratchPluginsVimEmulationPrivate;
typedef enum  {
	SCRATCH_PLUGINS_VIM_EMULATION_MODE_COMMAND,
	SCRATCH_PLUGINS_VIM_EMULATION_MODE_INSERT,
	SCRATCH_PLUGINS_VIM_EMULATION_MODE_VISUAL
} ScratchPluginsVimEmulationMode;

#define SCRATCH_PLUGINS_VIM_EMULATION_TYPE_MODE (scratch_plugins_vim_emulation_mode_get_type ())

struct _ScratchPluginsVimEmulation {
	PeasExtensionBase parent_instance;
	ScratchPluginsVimEmulationPrivate * priv;
};

struct _ScratchPluginsVimEmulationClass {
	PeasExtensionBaseClass parent_class;
};

GType scratch_plugins_vim_emulation_register_type (GTypeModule * module);
VALA_EXTERN GType scratch_plugins_vim_emulation_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ScratchPluginsVimEmulation, g_object_unref)
VALA_EXTERN GType scratch_plugins_vim_emulation_mode_get_type (void) G_GNUC_CONST ;
VALA_EXTERN ScratchPluginsVimEmulation* scratch_plugins_vim_emulation_new (void);
VALA_EXTERN ScratchPluginsVimEmulation* scratch_plugins_vim_emulation_construct (GType object_type);
VALA_EXTERN void peas_register_types (GTypeModule* module);

G_END_DECLS

#endif
