Padre-Plugin-LaTeX

 view release on metacpan or  search on metacpan

lib/Padre/Document/LaTeX.pm  view on Meta::CPAN

	varepsilon vartheta varpi varrho varsigma varphi
	Alpha Beta Gamma Delta Epsilon Zeta Eta Theta Iota Kappa Lambda Mu Nu Xi Omicron Pi Rho Sigma Tau Upsilon Phi Chi Psi Omega
	amalg approx ast asymp
	bigcirc bigcup bigtriangledown bigtriangleup bowtie bullet
	cap cdot cdotp circ colon cong cup
	dagger dashv ddagger diamond div doteq downarrow Downarrow
	equiv exists
	forall frac frown
	ge geq
	hat hookleftarrow hookrightarrow
	in
	Join
	langle ldotp le leadsto left leftarrow Leftarrow leftharpoondown leftharpoonup leftrightarrow Leftrightarrow leq lhd ll
	longleftarrow Longleftarrow longleftrightarrow Longleftrightarrow longmapsto longrightarrow Longrightarrow
	mapsto mathbb mathcal mathrm mid models mp
	nearrow neq ni nwarrow
	odot ominus oplus oslash
	parallel partial perp pm prec preceq propto
	rangle rhd right rightarrow Rightarrow rightharpoondown rightharpoonup rightleftarrow Rightleftarrow rightleftharpoons
	searrow seteq setminus sim simeq smile sqcap sqcup sqsubset sqsubseteq sqsupset sqsupseteq star subset subseteq substack
	succ succeq sum supset supseteq swarrow
	text tilde times triangleleft triangleright
	unlhd unrhd uparrow Uparrow updownarrow Updownarrow uplus
	vdash vee
	wedge wr

	bigskip DeclareOptionBeamer defbeamertemplate frame framesubtitle frametitle mode note
	only pause ProcessOptionsBeamer
	setbeamercolor setbeamersize setbeameroption setbeamertemplate usebeamerfont usetheme

	fancyhead fancyfoot headheight headrulewidth footrulewidth

	acro ac acs acf acl

	For ForAll Procedure Repeat State Until While
	/;
push @latex_commands, @latex_star_commands;

my @latex_star_environments = qw/
	equation eqnarray figure table
/;

my @latex_environments = qw/
	abstract acronym align
	cases center
	document
	enumerate
	flushleft flushright footnotesize
	Huge
	itemize Large
	math
	pmatrix
	small
	tabular tiny
	verbatim

	algorithm algorithmic

	column columns

	beamercolorbox block example frame overlayarea overprint proof theorem
	/;
push @latex_environments, @latex_star_environments;

my @latex_packages = qw/
	a4wide acronym alg algorithm2e algorithmicx algpseudocode amsfonts amsmath amsopn amssymb
	babel beamer
	cite color colortbl
	dcolumn
	fancybox fontenc
	graphics graphicx
	hyperref
	ifthen import inputenc
	lastpage latexsym listings longtable
	makeidx multicol multirow
	pgf
	tabularx times
	url
	verbatim
	xcolor xy
	/;

# method copied from the PHP plugin and a adapted a bit
# TODO know includegraphics etc. options (see CSS completion support for ideas)
# TODO units for height, width, vspace, etc.
# TODO for bibliography, insert, include, includegraphics, usepackage: check for available files ...
# TODO also offer \begin w/o \end
sub autocomplete {
	my $self  = shift;
	my $event = shift;

	my $config    = Padre->ide->config;
	my $min_chars = $config->lang_perl5_autocomplete_min_chars; # TODO rename this config option/have our own?

	my $editor = $self->editor;
	my $pos    = $editor->GetCurrentPos;
	my $line   = $editor->LineFromPosition($pos);
	my $first  = $editor->PositionFromLine($line);

	# This function is called very often, return asap
	return if ( $pos - $first ) < ( $min_chars - 1 );

	# line from beginning to current position
	my $prefix = $editor->GetTextRange( $first, $pos );

	# Remove any ident from the beginning of the prefix
	$prefix =~ s/^[\r\t]+//;
	return if length($prefix) == 0;

	# One char may be added by the current event
	return if length($prefix) < ( $min_chars - 1 );

	# The second parameter may be a reference to the current event or the next
	# char which will be added to the editor:
	my $nextchar = ''; # Use empty instead of undef
	if ( defined($event) and ( ref($event) eq 'Wx::KeyEvent' ) ) {
		my $key = $event->GetUnicodeKey;
		$nextchar = chr($key);
	} elsif ( defined($event) and ( !ref($event) ) ) {
		$nextchar = $event;
	}



( run in 2.460 seconds using v1.01-cache-2.11-cpan-75ffa21a3d4 )