gutter.setExpanded(false); gutter.setHighlightInterval(5); gutter.setCurrentLineHighlightEnabled(true); gutter.setStructureHighlightEnabled(true); gutter.setStructureHighlightColor(new Color(102,102,153)); gutter.setBackground(new Color(219,219,219)); gutter.setForeground(Color.black); gutter.setHighlightedForeground(new Color(153,0,102)); gutter.setFoldColor(new Color(131,131,131)); gutter.setCurrentLineForeground(new Color(255,0,51)); gutter.setLineNumberAlignment(Gutter.RIGHT); gutter.setFont(new Font("Monospaced", Font.PLAIN, 10)); gutter.setBorder(3, new Color(153,0,153), Color.white, painter.getBackground());  setCaretBlinkEnabled(true); setElectricScroll(3);  JEditBuffer buffer = new JEditBuffer(); TokenMarker tokenMarker = new TokenMarker(); tokenMarker.addRuleSet(new ParserRuleSet("text","MAIN")); buffer.setTokenMarker(tokenMarker); buffer.insert(0,"ahaha coucou\ncaca"); setBuffer(buffer);
	public TextArea(InputHandlerProvider inputHandlerProvider)	{		this.inputHandlerProvider = inputHandlerProvider;		enableEvents(AWTEvent.FOCUS_EVENT_MASK | AWTEvent.KEY_EVENT_MASK);		//{{{ Initialize some misc. stuff		selectionManager = new SelectionManager(this);		chunkCache = new ChunkCache(this);		painter = new TextAreaPainter(this);		repaintMgr = new FastRepaintManager(this,painter);		gutter = new Gutter(this);		gutter.setMouseActionsProvider(new MouseActions("gutter"));		listenerList = new EventListenerList();		caretEvent = new MutableCaretEvent();		blink = true;		lineSegment = new Segment();		offsetXY = new Point();		structureMatchers = new LinkedList<StructureMatcher>();		structureMatchers.add(new StructureMatcher.BracketMatcher());		//}}}		//{{{ Initialize the GUI		setLayout(new ScrollLayout());		add(ScrollLayout.CENTER,painter);		add(ScrollLayout.LEFT,gutter);		// some plugins add stuff in a "right-hand" gutter		verticalBox = new Box(BoxLayout.X_AXIS);		verticalBox.add(vertical = new JScrollBar(Adjustable.VERTICAL));		vertical.setRequestFocusEnabled(false);		add(ScrollLayout.RIGHT,verticalBox);		add(ScrollLayout.BOTTOM,			horizontal = new JScrollBar(Adjustable.HORIZONTAL));		horizontal.setRequestFocusEnabled(false);		horizontal.setValues(0,0,0,0);		//}}}		//{{{ this ensures that the text area's look is slightly		// more consistent with the rest of the metal l&f.		// while it depends on not-so-well-documented portions		// of Swing, it only affects appearance, so future		// breakage shouldn't matter		if(UIManager.getLookAndFeel() instanceof MetalLookAndFeel)		{			setBorder(new TextAreaBorder());			vertical.putClientProperty("JScrollBar.isFreeStanding",				Boolean.FALSE);			horizontal.putClientProperty("JScrollBar.isFreeStanding",				Boolean.FALSE);			//horizontal.setBorder(null);		}		//}}}		//{{{ Add some event listeners		vertical.addAdjustmentListener(new AdjustHandler());		horizontal.addAdjustmentListener(new AdjustHandler());		addFocusListener(new FocusHandler());		addMouseWheelListener(new MouseWheelHandler());		//}}}		// This doesn't seem very correct, but it fixes a problem		// when setting the initial caret position for a buffer		// (eg, from the recent file list)		focusedComponent = this;	} //}}}