class_textedit.rst 258 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186
  1. :github_url: hide
  2. .. meta::
  3. :keywords: textarea
  4. .. DO NOT EDIT THIS FILE!!!
  5. .. Generated automatically from Godot engine sources.
  6. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  7. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/TextEdit.xml.
  8. .. _class_TextEdit:
  9. TextEdit
  10. ========
  11. **Inherits:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  12. **Inherited By:** :ref:`CodeEdit<class_CodeEdit>`
  13. A multiline text editor.
  14. .. rst-class:: classref-introduction-group
  15. Description
  16. -----------
  17. A multiline text editor. It also has limited facilities for editing code, such as syntax highlighting support. For more advanced facilities for editing code, see :ref:`CodeEdit<class_CodeEdit>`.
  18. \ **Note:** Most viewport, caret, and edit methods contain a ``caret_index`` argument for :ref:`caret_multiple<class_TextEdit_property_caret_multiple>` support. The argument should be one of the following: ``-1`` for all carets, ``0`` for the main caret, or greater than ``0`` for secondary carets in the order they were created.
  19. \ **Note:** When holding down :kbd:`Alt`, the vertical scroll wheel will scroll 5 times as fast as it would normally do. This also works in the Godot script editor.
  20. .. rst-class:: classref-reftable-group
  21. Properties
  22. ----------
  23. .. table::
  24. :widths: auto
  25. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  26. | :ref:`AutowrapMode<enum_TextServer_AutowrapMode>` | :ref:`autowrap_mode<class_TextEdit_property_autowrap_mode>` | ``3`` |
  27. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  28. | :ref:`bool<class_bool>` | :ref:`caret_blink<class_TextEdit_property_caret_blink>` | ``false`` |
  29. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  30. | :ref:`float<class_float>` | :ref:`caret_blink_interval<class_TextEdit_property_caret_blink_interval>` | ``0.65`` |
  31. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  32. | :ref:`bool<class_bool>` | :ref:`caret_draw_when_editable_disabled<class_TextEdit_property_caret_draw_when_editable_disabled>` | ``false`` |
  33. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  34. | :ref:`bool<class_bool>` | :ref:`caret_mid_grapheme<class_TextEdit_property_caret_mid_grapheme>` | ``false`` |
  35. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  36. | :ref:`bool<class_bool>` | :ref:`caret_move_on_right_click<class_TextEdit_property_caret_move_on_right_click>` | ``true`` |
  37. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  38. | :ref:`bool<class_bool>` | :ref:`caret_multiple<class_TextEdit_property_caret_multiple>` | ``true`` |
  39. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  40. | :ref:`CaretType<enum_TextEdit_CaretType>` | :ref:`caret_type<class_TextEdit_property_caret_type>` | ``0`` |
  41. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  42. | :ref:`bool<class_bool>` | clip_contents | ``true`` (overrides :ref:`Control<class_Control_property_clip_contents>`) |
  43. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  44. | :ref:`bool<class_bool>` | :ref:`context_menu_enabled<class_TextEdit_property_context_menu_enabled>` | ``true`` |
  45. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  46. | :ref:`String<class_String>` | :ref:`custom_word_separators<class_TextEdit_property_custom_word_separators>` | ``""`` |
  47. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  48. | :ref:`bool<class_bool>` | :ref:`deselect_on_focus_loss_enabled<class_TextEdit_property_deselect_on_focus_loss_enabled>` | ``true`` |
  49. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  50. | :ref:`bool<class_bool>` | :ref:`drag_and_drop_selection_enabled<class_TextEdit_property_drag_and_drop_selection_enabled>` | ``true`` |
  51. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  52. | :ref:`bool<class_bool>` | :ref:`draw_control_chars<class_TextEdit_property_draw_control_chars>` | ``false`` |
  53. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  54. | :ref:`bool<class_bool>` | :ref:`draw_spaces<class_TextEdit_property_draw_spaces>` | ``false`` |
  55. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  56. | :ref:`bool<class_bool>` | :ref:`draw_tabs<class_TextEdit_property_draw_tabs>` | ``false`` |
  57. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  58. | :ref:`bool<class_bool>` | :ref:`editable<class_TextEdit_property_editable>` | ``true`` |
  59. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  60. | :ref:`bool<class_bool>` | :ref:`emoji_menu_enabled<class_TextEdit_property_emoji_menu_enabled>` | ``true`` |
  61. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  62. | :ref:`bool<class_bool>` | :ref:`empty_selection_clipboard_enabled<class_TextEdit_property_empty_selection_clipboard_enabled>` | ``true`` |
  63. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  64. | :ref:`FocusMode<enum_Control_FocusMode>` | focus_mode | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`) |
  65. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  66. | :ref:`bool<class_bool>` | :ref:`highlight_all_occurrences<class_TextEdit_property_highlight_all_occurrences>` | ``false`` |
  67. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  68. | :ref:`bool<class_bool>` | :ref:`highlight_current_line<class_TextEdit_property_highlight_current_line>` | ``false`` |
  69. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  70. | :ref:`bool<class_bool>` | :ref:`indent_wrapped_lines<class_TextEdit_property_indent_wrapped_lines>` | ``false`` |
  71. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  72. | :ref:`String<class_String>` | :ref:`language<class_TextEdit_property_language>` | ``""`` |
  73. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  74. | :ref:`bool<class_bool>` | :ref:`middle_mouse_paste_enabled<class_TextEdit_property_middle_mouse_paste_enabled>` | ``true`` |
  75. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  76. | :ref:`bool<class_bool>` | :ref:`minimap_draw<class_TextEdit_property_minimap_draw>` | ``false`` |
  77. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  78. | :ref:`int<class_int>` | :ref:`minimap_width<class_TextEdit_property_minimap_width>` | ``80`` |
  79. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  80. | :ref:`CursorShape<enum_Control_CursorShape>` | mouse_default_cursor_shape | ``1`` (overrides :ref:`Control<class_Control_property_mouse_default_cursor_shape>`) |
  81. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  82. | :ref:`String<class_String>` | :ref:`placeholder_text<class_TextEdit_property_placeholder_text>` | ``""`` |
  83. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  84. | :ref:`bool<class_bool>` | :ref:`scroll_fit_content_height<class_TextEdit_property_scroll_fit_content_height>` | ``false`` |
  85. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  86. | :ref:`bool<class_bool>` | :ref:`scroll_fit_content_width<class_TextEdit_property_scroll_fit_content_width>` | ``false`` |
  87. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  88. | :ref:`int<class_int>` | :ref:`scroll_horizontal<class_TextEdit_property_scroll_horizontal>` | ``0`` |
  89. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  90. | :ref:`bool<class_bool>` | :ref:`scroll_past_end_of_file<class_TextEdit_property_scroll_past_end_of_file>` | ``false`` |
  91. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  92. | :ref:`bool<class_bool>` | :ref:`scroll_smooth<class_TextEdit_property_scroll_smooth>` | ``false`` |
  93. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  94. | :ref:`float<class_float>` | :ref:`scroll_v_scroll_speed<class_TextEdit_property_scroll_v_scroll_speed>` | ``80.0`` |
  95. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  96. | :ref:`float<class_float>` | :ref:`scroll_vertical<class_TextEdit_property_scroll_vertical>` | ``0.0`` |
  97. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  98. | :ref:`bool<class_bool>` | :ref:`selecting_enabled<class_TextEdit_property_selecting_enabled>` | ``true`` |
  99. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  100. | :ref:`bool<class_bool>` | :ref:`shortcut_keys_enabled<class_TextEdit_property_shortcut_keys_enabled>` | ``true`` |
  101. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  102. | :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` | :ref:`structured_text_bidi_override<class_TextEdit_property_structured_text_bidi_override>` | ``0`` |
  103. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  104. | :ref:`Array<class_Array>` | :ref:`structured_text_bidi_override_options<class_TextEdit_property_structured_text_bidi_override_options>` | ``[]`` |
  105. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  106. | :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` | :ref:`syntax_highlighter<class_TextEdit_property_syntax_highlighter>` | |
  107. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  108. | :ref:`String<class_String>` | :ref:`text<class_TextEdit_property_text>` | ``""`` |
  109. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  110. | :ref:`TextDirection<enum_Control_TextDirection>` | :ref:`text_direction<class_TextEdit_property_text_direction>` | ``0`` |
  111. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  112. | :ref:`bool<class_bool>` | :ref:`use_custom_word_separators<class_TextEdit_property_use_custom_word_separators>` | ``false`` |
  113. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  114. | :ref:`bool<class_bool>` | :ref:`use_default_word_separators<class_TextEdit_property_use_default_word_separators>` | ``true`` |
  115. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  116. | :ref:`bool<class_bool>` | :ref:`virtual_keyboard_enabled<class_TextEdit_property_virtual_keyboard_enabled>` | ``true`` |
  117. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  118. | :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` | :ref:`wrap_mode<class_TextEdit_property_wrap_mode>` | ``0`` |
  119. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  120. .. rst-class:: classref-reftable-group
  121. Methods
  122. -------
  123. .. table::
  124. :widths: auto
  125. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  126. | |void| | :ref:`_backspace<class_TextEdit_private_method__backspace>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  127. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  128. | |void| | :ref:`_copy<class_TextEdit_private_method__copy>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  129. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  130. | |void| | :ref:`_cut<class_TextEdit_private_method__cut>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  131. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  132. | |void| | :ref:`_handle_unicode_input<class_TextEdit_private_method__handle_unicode_input>`\ (\ unicode_char\: :ref:`int<class_int>`, caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  133. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  134. | |void| | :ref:`_paste<class_TextEdit_private_method__paste>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  135. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  136. | |void| | :ref:`_paste_primary_clipboard<class_TextEdit_private_method__paste_primary_clipboard>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  137. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  138. | :ref:`int<class_int>` | :ref:`add_caret<class_TextEdit_method_add_caret>`\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |
  139. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  140. | |void| | :ref:`add_caret_at_carets<class_TextEdit_method_add_caret_at_carets>`\ (\ below\: :ref:`bool<class_bool>`\ ) |
  141. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  142. | |void| | :ref:`add_gutter<class_TextEdit_method_add_gutter>`\ (\ at\: :ref:`int<class_int>` = -1\ ) |
  143. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  144. | |void| | :ref:`add_selection_for_next_occurrence<class_TextEdit_method_add_selection_for_next_occurrence>`\ (\ ) |
  145. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  146. | |void| | :ref:`adjust_carets_after_edit<class_TextEdit_method_adjust_carets_after_edit>`\ (\ caret\: :ref:`int<class_int>`, from_line\: :ref:`int<class_int>`, from_col\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`, to_col\: :ref:`int<class_int>`\ ) |
  147. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  148. | |void| | :ref:`adjust_viewport_to_caret<class_TextEdit_method_adjust_viewport_to_caret>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |
  149. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  150. | |void| | :ref:`apply_ime<class_TextEdit_method_apply_ime>`\ (\ ) |
  151. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  152. | |void| | :ref:`backspace<class_TextEdit_method_backspace>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  153. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  154. | |void| | :ref:`begin_complex_operation<class_TextEdit_method_begin_complex_operation>`\ (\ ) |
  155. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  156. | |void| | :ref:`begin_multicaret_edit<class_TextEdit_method_begin_multicaret_edit>`\ (\ ) |
  157. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  158. | |void| | :ref:`cancel_ime<class_TextEdit_method_cancel_ime>`\ (\ ) |
  159. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  160. | |void| | :ref:`center_viewport_to_caret<class_TextEdit_method_center_viewport_to_caret>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |
  161. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  162. | |void| | :ref:`clear<class_TextEdit_method_clear>`\ (\ ) |
  163. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  164. | |void| | :ref:`clear_undo_history<class_TextEdit_method_clear_undo_history>`\ (\ ) |
  165. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  166. | |void| | :ref:`collapse_carets<class_TextEdit_method_collapse_carets>`\ (\ from_line\: :ref:`int<class_int>`, from_column\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`, to_column\: :ref:`int<class_int>`, inclusive\: :ref:`bool<class_bool>` = false\ ) |
  167. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  168. | |void| | :ref:`copy<class_TextEdit_method_copy>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  169. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  170. | |void| | :ref:`cut<class_TextEdit_method_cut>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  171. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  172. | |void| | :ref:`delete_selection<class_TextEdit_method_delete_selection>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  173. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  174. | |void| | :ref:`deselect<class_TextEdit_method_deselect>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  175. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  176. | |void| | :ref:`end_action<class_TextEdit_method_end_action>`\ (\ ) |
  177. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  178. | |void| | :ref:`end_complex_operation<class_TextEdit_method_end_complex_operation>`\ (\ ) |
  179. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  180. | |void| | :ref:`end_multicaret_edit<class_TextEdit_method_end_multicaret_edit>`\ (\ ) |
  181. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  182. | :ref:`int<class_int>` | :ref:`get_caret_column<class_TextEdit_method_get_caret_column>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  183. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  184. | :ref:`int<class_int>` | :ref:`get_caret_count<class_TextEdit_method_get_caret_count>`\ (\ ) |const| |
  185. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  186. | :ref:`Vector2<class_Vector2>` | :ref:`get_caret_draw_pos<class_TextEdit_method_get_caret_draw_pos>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  187. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  188. | :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`get_caret_index_edit_order<class_TextEdit_method_get_caret_index_edit_order>`\ (\ ) |
  189. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  190. | :ref:`int<class_int>` | :ref:`get_caret_line<class_TextEdit_method_get_caret_line>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  191. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  192. | :ref:`int<class_int>` | :ref:`get_caret_wrap_index<class_TextEdit_method_get_caret_wrap_index>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  193. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  194. | :ref:`int<class_int>` | :ref:`get_first_non_whitespace_column<class_TextEdit_method_get_first_non_whitespace_column>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  195. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  196. | :ref:`int<class_int>` | :ref:`get_first_visible_line<class_TextEdit_method_get_first_visible_line>`\ (\ ) |const| |
  197. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  198. | :ref:`int<class_int>` | :ref:`get_gutter_count<class_TextEdit_method_get_gutter_count>`\ (\ ) |const| |
  199. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  200. | :ref:`String<class_String>` | :ref:`get_gutter_name<class_TextEdit_method_get_gutter_name>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  201. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  202. | :ref:`GutterType<enum_TextEdit_GutterType>` | :ref:`get_gutter_type<class_TextEdit_method_get_gutter_type>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  203. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  204. | :ref:`int<class_int>` | :ref:`get_gutter_width<class_TextEdit_method_get_gutter_width>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  205. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  206. | :ref:`HScrollBar<class_HScrollBar>` | :ref:`get_h_scroll_bar<class_TextEdit_method_get_h_scroll_bar>`\ (\ ) |const| |
  207. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  208. | :ref:`int<class_int>` | :ref:`get_indent_level<class_TextEdit_method_get_indent_level>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  209. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  210. | :ref:`int<class_int>` | :ref:`get_last_full_visible_line<class_TextEdit_method_get_last_full_visible_line>`\ (\ ) |const| |
  211. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  212. | :ref:`int<class_int>` | :ref:`get_last_full_visible_line_wrap_index<class_TextEdit_method_get_last_full_visible_line_wrap_index>`\ (\ ) |const| |
  213. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  214. | :ref:`int<class_int>` | :ref:`get_last_unhidden_line<class_TextEdit_method_get_last_unhidden_line>`\ (\ ) |const| |
  215. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  216. | :ref:`String<class_String>` | :ref:`get_line<class_TextEdit_method_get_line>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  217. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  218. | :ref:`Color<class_Color>` | :ref:`get_line_background_color<class_TextEdit_method_get_line_background_color>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  219. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  220. | :ref:`Vector2i<class_Vector2i>` | :ref:`get_line_column_at_pos<class_TextEdit_method_get_line_column_at_pos>`\ (\ position\: :ref:`Vector2i<class_Vector2i>`, allow_out_of_bounds\: :ref:`bool<class_bool>` = true\ ) |const| |
  221. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  222. | :ref:`int<class_int>` | :ref:`get_line_count<class_TextEdit_method_get_line_count>`\ (\ ) |const| |
  223. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  224. | :ref:`Texture2D<class_Texture2D>` | :ref:`get_line_gutter_icon<class_TextEdit_method_get_line_gutter_icon>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| |
  225. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  226. | :ref:`Color<class_Color>` | :ref:`get_line_gutter_item_color<class_TextEdit_method_get_line_gutter_item_color>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| |
  227. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  228. | :ref:`Variant<class_Variant>` | :ref:`get_line_gutter_metadata<class_TextEdit_method_get_line_gutter_metadata>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| |
  229. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  230. | :ref:`String<class_String>` | :ref:`get_line_gutter_text<class_TextEdit_method_get_line_gutter_text>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| |
  231. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  232. | :ref:`int<class_int>` | :ref:`get_line_height<class_TextEdit_method_get_line_height>`\ (\ ) |const| |
  233. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  234. | :ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\] | :ref:`get_line_ranges_from_carets<class_TextEdit_method_get_line_ranges_from_carets>`\ (\ only_selections\: :ref:`bool<class_bool>` = false, merge_adjacent\: :ref:`bool<class_bool>` = true\ ) |const| |
  235. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  236. | :ref:`int<class_int>` | :ref:`get_line_width<class_TextEdit_method_get_line_width>`\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = -1\ ) |const| |
  237. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  238. | :ref:`int<class_int>` | :ref:`get_line_wrap_count<class_TextEdit_method_get_line_wrap_count>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  239. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  240. | :ref:`int<class_int>` | :ref:`get_line_wrap_index_at_column<class_TextEdit_method_get_line_wrap_index_at_column>`\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| |
  241. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  242. | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_line_wrapped_text<class_TextEdit_method_get_line_wrapped_text>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  243. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  244. | :ref:`Vector2<class_Vector2>` | :ref:`get_local_mouse_pos<class_TextEdit_method_get_local_mouse_pos>`\ (\ ) |const| |
  245. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  246. | :ref:`PopupMenu<class_PopupMenu>` | :ref:`get_menu<class_TextEdit_method_get_menu>`\ (\ ) |const| |
  247. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  248. | :ref:`int<class_int>` | :ref:`get_minimap_line_at_pos<class_TextEdit_method_get_minimap_line_at_pos>`\ (\ position\: :ref:`Vector2i<class_Vector2i>`\ ) |const| |
  249. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  250. | :ref:`int<class_int>` | :ref:`get_minimap_visible_lines<class_TextEdit_method_get_minimap_visible_lines>`\ (\ ) |const| |
  251. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  252. | :ref:`Vector2i<class_Vector2i>` | :ref:`get_next_visible_line_index_offset_from<class_TextEdit_method_get_next_visible_line_index_offset_from>`\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>`, visible_amount\: :ref:`int<class_int>`\ ) |const| |
  253. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  254. | :ref:`int<class_int>` | :ref:`get_next_visible_line_offset_from<class_TextEdit_method_get_next_visible_line_offset_from>`\ (\ line\: :ref:`int<class_int>`, visible_amount\: :ref:`int<class_int>`\ ) |const| |
  255. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  256. | :ref:`Vector2i<class_Vector2i>` | :ref:`get_pos_at_line_column<class_TextEdit_method_get_pos_at_line_column>`\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| |
  257. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  258. | :ref:`Rect2i<class_Rect2i>` | :ref:`get_rect_at_line_column<class_TextEdit_method_get_rect_at_line_column>`\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| |
  259. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  260. | :ref:`int<class_int>` | :ref:`get_saved_version<class_TextEdit_method_get_saved_version>`\ (\ ) |const| |
  261. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  262. | :ref:`float<class_float>` | :ref:`get_scroll_pos_for_line<class_TextEdit_method_get_scroll_pos_for_line>`\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) |const| |
  263. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  264. | :ref:`String<class_String>` | :ref:`get_selected_text<class_TextEdit_method_get_selected_text>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  265. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  266. | :ref:`int<class_int>` | :ref:`get_selection_at_line_column<class_TextEdit_method_get_selection_at_line_column>`\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`, include_edges\: :ref:`bool<class_bool>` = true, only_selections\: :ref:`bool<class_bool>` = true\ ) |const| |
  267. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  268. | :ref:`int<class_int>` | :ref:`get_selection_column<class_TextEdit_method_get_selection_column>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  269. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  270. | :ref:`int<class_int>` | :ref:`get_selection_from_column<class_TextEdit_method_get_selection_from_column>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  271. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  272. | :ref:`int<class_int>` | :ref:`get_selection_from_line<class_TextEdit_method_get_selection_from_line>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  273. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  274. | :ref:`int<class_int>` | :ref:`get_selection_line<class_TextEdit_method_get_selection_line>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  275. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  276. | :ref:`SelectionMode<enum_TextEdit_SelectionMode>` | :ref:`get_selection_mode<class_TextEdit_method_get_selection_mode>`\ (\ ) |const| |
  277. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  278. | :ref:`int<class_int>` | :ref:`get_selection_origin_column<class_TextEdit_method_get_selection_origin_column>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  279. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  280. | :ref:`int<class_int>` | :ref:`get_selection_origin_line<class_TextEdit_method_get_selection_origin_line>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  281. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  282. | :ref:`int<class_int>` | :ref:`get_selection_to_column<class_TextEdit_method_get_selection_to_column>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  283. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  284. | :ref:`int<class_int>` | :ref:`get_selection_to_line<class_TextEdit_method_get_selection_to_line>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  285. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  286. | :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`get_sorted_carets<class_TextEdit_method_get_sorted_carets>`\ (\ include_ignored_carets\: :ref:`bool<class_bool>` = false\ ) |const| |
  287. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  288. | :ref:`int<class_int>` | :ref:`get_tab_size<class_TextEdit_method_get_tab_size>`\ (\ ) |const| |
  289. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  290. | :ref:`int<class_int>` | :ref:`get_total_gutter_width<class_TextEdit_method_get_total_gutter_width>`\ (\ ) |const| |
  291. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  292. | :ref:`int<class_int>` | :ref:`get_total_visible_line_count<class_TextEdit_method_get_total_visible_line_count>`\ (\ ) |const| |
  293. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  294. | :ref:`VScrollBar<class_VScrollBar>` | :ref:`get_v_scroll_bar<class_TextEdit_method_get_v_scroll_bar>`\ (\ ) |const| |
  295. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  296. | :ref:`int<class_int>` | :ref:`get_version<class_TextEdit_method_get_version>`\ (\ ) |const| |
  297. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  298. | :ref:`int<class_int>` | :ref:`get_visible_line_count<class_TextEdit_method_get_visible_line_count>`\ (\ ) |const| |
  299. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  300. | :ref:`int<class_int>` | :ref:`get_visible_line_count_in_range<class_TextEdit_method_get_visible_line_count_in_range>`\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) |const| |
  301. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  302. | :ref:`String<class_String>` | :ref:`get_word_at_pos<class_TextEdit_method_get_word_at_pos>`\ (\ position\: :ref:`Vector2<class_Vector2>`\ ) |const| |
  303. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  304. | :ref:`String<class_String>` | :ref:`get_word_under_caret<class_TextEdit_method_get_word_under_caret>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |const| |
  305. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  306. | :ref:`bool<class_bool>` | :ref:`has_ime_text<class_TextEdit_method_has_ime_text>`\ (\ ) |const| |
  307. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  308. | :ref:`bool<class_bool>` | :ref:`has_redo<class_TextEdit_method_has_redo>`\ (\ ) |const| |
  309. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  310. | :ref:`bool<class_bool>` | :ref:`has_selection<class_TextEdit_method_has_selection>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |const| |
  311. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  312. | :ref:`bool<class_bool>` | :ref:`has_undo<class_TextEdit_method_has_undo>`\ (\ ) |const| |
  313. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  314. | |void| | :ref:`insert_line_at<class_TextEdit_method_insert_line_at>`\ (\ line\: :ref:`int<class_int>`, text\: :ref:`String<class_String>`\ ) |
  315. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  316. | |void| | :ref:`insert_text<class_TextEdit_method_insert_text>`\ (\ text\: :ref:`String<class_String>`, line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`, before_selection_begin\: :ref:`bool<class_bool>` = true, before_selection_end\: :ref:`bool<class_bool>` = false\ ) |
  317. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  318. | |void| | :ref:`insert_text_at_caret<class_TextEdit_method_insert_text_at_caret>`\ (\ text\: :ref:`String<class_String>`, caret_index\: :ref:`int<class_int>` = -1\ ) |
  319. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  320. | :ref:`bool<class_bool>` | :ref:`is_caret_after_selection_origin<class_TextEdit_method_is_caret_after_selection_origin>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  321. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  322. | :ref:`bool<class_bool>` | :ref:`is_caret_visible<class_TextEdit_method_is_caret_visible>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  323. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  324. | :ref:`bool<class_bool>` | :ref:`is_dragging_cursor<class_TextEdit_method_is_dragging_cursor>`\ (\ ) |const| |
  325. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  326. | :ref:`bool<class_bool>` | :ref:`is_gutter_clickable<class_TextEdit_method_is_gutter_clickable>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  327. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  328. | :ref:`bool<class_bool>` | :ref:`is_gutter_drawn<class_TextEdit_method_is_gutter_drawn>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  329. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  330. | :ref:`bool<class_bool>` | :ref:`is_gutter_overwritable<class_TextEdit_method_is_gutter_overwritable>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  331. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  332. | :ref:`bool<class_bool>` | :ref:`is_in_mulitcaret_edit<class_TextEdit_method_is_in_mulitcaret_edit>`\ (\ ) |const| |
  333. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  334. | :ref:`bool<class_bool>` | :ref:`is_line_gutter_clickable<class_TextEdit_method_is_line_gutter_clickable>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| |
  335. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  336. | :ref:`bool<class_bool>` | :ref:`is_line_wrapped<class_TextEdit_method_is_line_wrapped>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  337. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  338. | :ref:`bool<class_bool>` | :ref:`is_menu_visible<class_TextEdit_method_is_menu_visible>`\ (\ ) |const| |
  339. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  340. | :ref:`bool<class_bool>` | :ref:`is_mouse_over_selection<class_TextEdit_method_is_mouse_over_selection>`\ (\ edges\: :ref:`bool<class_bool>`, caret_index\: :ref:`int<class_int>` = -1\ ) |const| |
  341. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  342. | :ref:`bool<class_bool>` | :ref:`is_overtype_mode_enabled<class_TextEdit_method_is_overtype_mode_enabled>`\ (\ ) |const| |
  343. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  344. | |void| | :ref:`menu_option<class_TextEdit_method_menu_option>`\ (\ option\: :ref:`int<class_int>`\ ) |
  345. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  346. | |void| | :ref:`merge_gutters<class_TextEdit_method_merge_gutters>`\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) |
  347. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  348. | |void| | :ref:`merge_overlapping_carets<class_TextEdit_method_merge_overlapping_carets>`\ (\ ) |
  349. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  350. | :ref:`bool<class_bool>` | :ref:`multicaret_edit_ignore_caret<class_TextEdit_method_multicaret_edit_ignore_caret>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |const| |
  351. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  352. | |void| | :ref:`paste<class_TextEdit_method_paste>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  353. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  354. | |void| | :ref:`paste_primary_clipboard<class_TextEdit_method_paste_primary_clipboard>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  355. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  356. | |void| | :ref:`redo<class_TextEdit_method_redo>`\ (\ ) |
  357. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  358. | |void| | :ref:`remove_caret<class_TextEdit_method_remove_caret>`\ (\ caret\: :ref:`int<class_int>`\ ) |
  359. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  360. | |void| | :ref:`remove_gutter<class_TextEdit_method_remove_gutter>`\ (\ gutter\: :ref:`int<class_int>`\ ) |
  361. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  362. | |void| | :ref:`remove_line_at<class_TextEdit_method_remove_line_at>`\ (\ line\: :ref:`int<class_int>`, move_carets_down\: :ref:`bool<class_bool>` = true\ ) |
  363. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  364. | |void| | :ref:`remove_secondary_carets<class_TextEdit_method_remove_secondary_carets>`\ (\ ) |
  365. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  366. | |void| | :ref:`remove_text<class_TextEdit_method_remove_text>`\ (\ from_line\: :ref:`int<class_int>`, from_column\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`, to_column\: :ref:`int<class_int>`\ ) |
  367. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  368. | :ref:`Vector2i<class_Vector2i>` | :ref:`search<class_TextEdit_method_search>`\ (\ text\: :ref:`String<class_String>`, flags\: :ref:`int<class_int>`, from_line\: :ref:`int<class_int>`, from_column\: :ref:`int<class_int>`\ ) |const| |
  369. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  370. | |void| | :ref:`select<class_TextEdit_method_select>`\ (\ origin_line\: :ref:`int<class_int>`, origin_column\: :ref:`int<class_int>`, caret_line\: :ref:`int<class_int>`, caret_column\: :ref:`int<class_int>`, caret_index\: :ref:`int<class_int>` = 0\ ) |
  371. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  372. | |void| | :ref:`select_all<class_TextEdit_method_select_all>`\ (\ ) |
  373. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  374. | |void| | :ref:`select_word_under_caret<class_TextEdit_method_select_word_under_caret>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  375. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  376. | |void| | :ref:`set_caret_column<class_TextEdit_method_set_caret_column>`\ (\ column\: :ref:`int<class_int>`, adjust_viewport\: :ref:`bool<class_bool>` = true, caret_index\: :ref:`int<class_int>` = 0\ ) |
  377. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  378. | |void| | :ref:`set_caret_line<class_TextEdit_method_set_caret_line>`\ (\ line\: :ref:`int<class_int>`, adjust_viewport\: :ref:`bool<class_bool>` = true, can_be_hidden\: :ref:`bool<class_bool>` = true, wrap_index\: :ref:`int<class_int>` = 0, caret_index\: :ref:`int<class_int>` = 0\ ) |
  379. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  380. | |void| | :ref:`set_gutter_clickable<class_TextEdit_method_set_gutter_clickable>`\ (\ gutter\: :ref:`int<class_int>`, clickable\: :ref:`bool<class_bool>`\ ) |
  381. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  382. | |void| | :ref:`set_gutter_custom_draw<class_TextEdit_method_set_gutter_custom_draw>`\ (\ column\: :ref:`int<class_int>`, draw_callback\: :ref:`Callable<class_Callable>`\ ) |
  383. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  384. | |void| | :ref:`set_gutter_draw<class_TextEdit_method_set_gutter_draw>`\ (\ gutter\: :ref:`int<class_int>`, draw\: :ref:`bool<class_bool>`\ ) |
  385. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  386. | |void| | :ref:`set_gutter_name<class_TextEdit_method_set_gutter_name>`\ (\ gutter\: :ref:`int<class_int>`, name\: :ref:`String<class_String>`\ ) |
  387. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  388. | |void| | :ref:`set_gutter_overwritable<class_TextEdit_method_set_gutter_overwritable>`\ (\ gutter\: :ref:`int<class_int>`, overwritable\: :ref:`bool<class_bool>`\ ) |
  389. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  390. | |void| | :ref:`set_gutter_type<class_TextEdit_method_set_gutter_type>`\ (\ gutter\: :ref:`int<class_int>`, type\: :ref:`GutterType<enum_TextEdit_GutterType>`\ ) |
  391. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  392. | |void| | :ref:`set_gutter_width<class_TextEdit_method_set_gutter_width>`\ (\ gutter\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`\ ) |
  393. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  394. | |void| | :ref:`set_line<class_TextEdit_method_set_line>`\ (\ line\: :ref:`int<class_int>`, new_text\: :ref:`String<class_String>`\ ) |
  395. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  396. | |void| | :ref:`set_line_as_center_visible<class_TextEdit_method_set_line_as_center_visible>`\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) |
  397. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  398. | |void| | :ref:`set_line_as_first_visible<class_TextEdit_method_set_line_as_first_visible>`\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) |
  399. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  400. | |void| | :ref:`set_line_as_last_visible<class_TextEdit_method_set_line_as_last_visible>`\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) |
  401. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  402. | |void| | :ref:`set_line_background_color<class_TextEdit_method_set_line_background_color>`\ (\ line\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |
  403. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  404. | |void| | :ref:`set_line_gutter_clickable<class_TextEdit_method_set_line_gutter_clickable>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, clickable\: :ref:`bool<class_bool>`\ ) |
  405. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  406. | |void| | :ref:`set_line_gutter_icon<class_TextEdit_method_set_line_gutter_icon>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, icon\: :ref:`Texture2D<class_Texture2D>`\ ) |
  407. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  408. | |void| | :ref:`set_line_gutter_item_color<class_TextEdit_method_set_line_gutter_item_color>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |
  409. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  410. | |void| | :ref:`set_line_gutter_metadata<class_TextEdit_method_set_line_gutter_metadata>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, metadata\: :ref:`Variant<class_Variant>`\ ) |
  411. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  412. | |void| | :ref:`set_line_gutter_text<class_TextEdit_method_set_line_gutter_text>`\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, text\: :ref:`String<class_String>`\ ) |
  413. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  414. | |void| | :ref:`set_overtype_mode_enabled<class_TextEdit_method_set_overtype_mode_enabled>`\ (\ enabled\: :ref:`bool<class_bool>`\ ) |
  415. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  416. | |void| | :ref:`set_search_flags<class_TextEdit_method_set_search_flags>`\ (\ flags\: :ref:`int<class_int>`\ ) |
  417. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  418. | |void| | :ref:`set_search_text<class_TextEdit_method_set_search_text>`\ (\ search_text\: :ref:`String<class_String>`\ ) |
  419. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  420. | |void| | :ref:`set_selection_mode<class_TextEdit_method_set_selection_mode>`\ (\ mode\: :ref:`SelectionMode<enum_TextEdit_SelectionMode>`\ ) |
  421. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  422. | |void| | :ref:`set_selection_origin_column<class_TextEdit_method_set_selection_origin_column>`\ (\ column\: :ref:`int<class_int>`, caret_index\: :ref:`int<class_int>` = 0\ ) |
  423. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  424. | |void| | :ref:`set_selection_origin_line<class_TextEdit_method_set_selection_origin_line>`\ (\ line\: :ref:`int<class_int>`, can_be_hidden\: :ref:`bool<class_bool>` = true, wrap_index\: :ref:`int<class_int>` = -1, caret_index\: :ref:`int<class_int>` = 0\ ) |
  425. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  426. | |void| | :ref:`set_tab_size<class_TextEdit_method_set_tab_size>`\ (\ size\: :ref:`int<class_int>`\ ) |
  427. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  428. | |void| | :ref:`set_tooltip_request_func<class_TextEdit_method_set_tooltip_request_func>`\ (\ callback\: :ref:`Callable<class_Callable>`\ ) |
  429. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  430. | |void| | :ref:`skip_selection_for_next_occurrence<class_TextEdit_method_skip_selection_for_next_occurrence>`\ (\ ) |
  431. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  432. | |void| | :ref:`start_action<class_TextEdit_method_start_action>`\ (\ action\: :ref:`EditAction<enum_TextEdit_EditAction>`\ ) |
  433. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  434. | |void| | :ref:`swap_lines<class_TextEdit_method_swap_lines>`\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) |
  435. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  436. | |void| | :ref:`tag_saved_version<class_TextEdit_method_tag_saved_version>`\ (\ ) |
  437. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  438. | |void| | :ref:`undo<class_TextEdit_method_undo>`\ (\ ) |
  439. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  440. .. rst-class:: classref-reftable-group
  441. Theme Properties
  442. ----------------
  443. .. table::
  444. :widths: auto
  445. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  446. | :ref:`Color<class_Color>` | :ref:`background_color<class_TextEdit_theme_color_background_color>` | ``Color(0, 0, 0, 0)`` |
  447. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  448. | :ref:`Color<class_Color>` | :ref:`caret_background_color<class_TextEdit_theme_color_caret_background_color>` | ``Color(0, 0, 0, 1)`` |
  449. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  450. | :ref:`Color<class_Color>` | :ref:`caret_color<class_TextEdit_theme_color_caret_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
  451. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  452. | :ref:`Color<class_Color>` | :ref:`current_line_color<class_TextEdit_theme_color_current_line_color>` | ``Color(0.25, 0.25, 0.26, 0.8)`` |
  453. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  454. | :ref:`Color<class_Color>` | :ref:`font_color<class_TextEdit_theme_color_font_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
  455. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  456. | :ref:`Color<class_Color>` | :ref:`font_outline_color<class_TextEdit_theme_color_font_outline_color>` | ``Color(0, 0, 0, 1)`` |
  457. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  458. | :ref:`Color<class_Color>` | :ref:`font_placeholder_color<class_TextEdit_theme_color_font_placeholder_color>` | ``Color(0.875, 0.875, 0.875, 0.6)`` |
  459. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  460. | :ref:`Color<class_Color>` | :ref:`font_readonly_color<class_TextEdit_theme_color_font_readonly_color>` | ``Color(0.875, 0.875, 0.875, 0.5)`` |
  461. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  462. | :ref:`Color<class_Color>` | :ref:`font_selected_color<class_TextEdit_theme_color_font_selected_color>` | ``Color(0, 0, 0, 0)`` |
  463. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  464. | :ref:`Color<class_Color>` | :ref:`search_result_border_color<class_TextEdit_theme_color_search_result_border_color>` | ``Color(0.3, 0.3, 0.3, 0.4)`` |
  465. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  466. | :ref:`Color<class_Color>` | :ref:`search_result_color<class_TextEdit_theme_color_search_result_color>` | ``Color(0.3, 0.3, 0.3, 1)`` |
  467. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  468. | :ref:`Color<class_Color>` | :ref:`selection_color<class_TextEdit_theme_color_selection_color>` | ``Color(0.5, 0.5, 0.5, 1)`` |
  469. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  470. | :ref:`Color<class_Color>` | :ref:`word_highlighted_color<class_TextEdit_theme_color_word_highlighted_color>` | ``Color(0.5, 0.5, 0.5, 0.25)`` |
  471. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  472. | :ref:`int<class_int>` | :ref:`caret_width<class_TextEdit_theme_constant_caret_width>` | ``1`` |
  473. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  474. | :ref:`int<class_int>` | :ref:`line_spacing<class_TextEdit_theme_constant_line_spacing>` | ``4`` |
  475. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  476. | :ref:`int<class_int>` | :ref:`outline_size<class_TextEdit_theme_constant_outline_size>` | ``0`` |
  477. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  478. | :ref:`Font<class_Font>` | :ref:`font<class_TextEdit_theme_font_font>` | |
  479. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  480. | :ref:`int<class_int>` | :ref:`font_size<class_TextEdit_theme_font_size_font_size>` | |
  481. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  482. | :ref:`Texture2D<class_Texture2D>` | :ref:`space<class_TextEdit_theme_icon_space>` | |
  483. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  484. | :ref:`Texture2D<class_Texture2D>` | :ref:`tab<class_TextEdit_theme_icon_tab>` | |
  485. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  486. | :ref:`StyleBox<class_StyleBox>` | :ref:`focus<class_TextEdit_theme_style_focus>` | |
  487. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  488. | :ref:`StyleBox<class_StyleBox>` | :ref:`normal<class_TextEdit_theme_style_normal>` | |
  489. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  490. | :ref:`StyleBox<class_StyleBox>` | :ref:`read_only<class_TextEdit_theme_style_read_only>` | |
  491. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  492. .. rst-class:: classref-section-separator
  493. ----
  494. .. rst-class:: classref-descriptions-group
  495. Signals
  496. -------
  497. .. _class_TextEdit_signal_caret_changed:
  498. .. rst-class:: classref-signal
  499. **caret_changed**\ (\ ) :ref:`🔗<class_TextEdit_signal_caret_changed>`
  500. Emitted when any caret changes position.
  501. .. rst-class:: classref-item-separator
  502. ----
  503. .. _class_TextEdit_signal_gutter_added:
  504. .. rst-class:: classref-signal
  505. **gutter_added**\ (\ ) :ref:`🔗<class_TextEdit_signal_gutter_added>`
  506. Emitted when a gutter is added.
  507. .. rst-class:: classref-item-separator
  508. ----
  509. .. _class_TextEdit_signal_gutter_clicked:
  510. .. rst-class:: classref-signal
  511. **gutter_clicked**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_signal_gutter_clicked>`
  512. Emitted when a gutter is clicked.
  513. .. rst-class:: classref-item-separator
  514. ----
  515. .. _class_TextEdit_signal_gutter_removed:
  516. .. rst-class:: classref-signal
  517. **gutter_removed**\ (\ ) :ref:`🔗<class_TextEdit_signal_gutter_removed>`
  518. Emitted when a gutter is removed.
  519. .. rst-class:: classref-item-separator
  520. ----
  521. .. _class_TextEdit_signal_lines_edited_from:
  522. .. rst-class:: classref-signal
  523. **lines_edited_from**\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_signal_lines_edited_from>`
  524. Emitted immediately when the text changes.
  525. When text is added ``from_line`` will be less than ``to_line``. On a remove ``to_line`` will be less than ``from_line``.
  526. .. rst-class:: classref-item-separator
  527. ----
  528. .. _class_TextEdit_signal_text_changed:
  529. .. rst-class:: classref-signal
  530. **text_changed**\ (\ ) :ref:`🔗<class_TextEdit_signal_text_changed>`
  531. Emitted when the text changes.
  532. .. rst-class:: classref-item-separator
  533. ----
  534. .. _class_TextEdit_signal_text_set:
  535. .. rst-class:: classref-signal
  536. **text_set**\ (\ ) :ref:`🔗<class_TextEdit_signal_text_set>`
  537. Emitted when :ref:`clear<class_TextEdit_method_clear>` is called or :ref:`text<class_TextEdit_property_text>` is set.
  538. .. rst-class:: classref-section-separator
  539. ----
  540. .. rst-class:: classref-descriptions-group
  541. Enumerations
  542. ------------
  543. .. _enum_TextEdit_MenuItems:
  544. .. rst-class:: classref-enumeration
  545. enum **MenuItems**: :ref:`🔗<enum_TextEdit_MenuItems>`
  546. .. _class_TextEdit_constant_MENU_CUT:
  547. .. rst-class:: classref-enumeration-constant
  548. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_CUT** = ``0``
  549. Cuts (copies and clears) the selected text.
  550. .. _class_TextEdit_constant_MENU_COPY:
  551. .. rst-class:: classref-enumeration-constant
  552. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_COPY** = ``1``
  553. Copies the selected text.
  554. .. _class_TextEdit_constant_MENU_PASTE:
  555. .. rst-class:: classref-enumeration-constant
  556. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_PASTE** = ``2``
  557. Pastes the clipboard text over the selected text (or at the cursor's position).
  558. .. _class_TextEdit_constant_MENU_CLEAR:
  559. .. rst-class:: classref-enumeration-constant
  560. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_CLEAR** = ``3``
  561. Erases the whole **TextEdit** text.
  562. .. _class_TextEdit_constant_MENU_SELECT_ALL:
  563. .. rst-class:: classref-enumeration-constant
  564. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_SELECT_ALL** = ``4``
  565. Selects the whole **TextEdit** text.
  566. .. _class_TextEdit_constant_MENU_UNDO:
  567. .. rst-class:: classref-enumeration-constant
  568. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_UNDO** = ``5``
  569. Undoes the previous action.
  570. .. _class_TextEdit_constant_MENU_REDO:
  571. .. rst-class:: classref-enumeration-constant
  572. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_REDO** = ``6``
  573. Redoes the previous action.
  574. .. _class_TextEdit_constant_MENU_SUBMENU_TEXT_DIR:
  575. .. rst-class:: classref-enumeration-constant
  576. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_SUBMENU_TEXT_DIR** = ``7``
  577. ID of "Text Writing Direction" submenu.
  578. .. _class_TextEdit_constant_MENU_DIR_INHERITED:
  579. .. rst-class:: classref-enumeration-constant
  580. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DIR_INHERITED** = ``8``
  581. Sets text direction to inherited.
  582. .. _class_TextEdit_constant_MENU_DIR_AUTO:
  583. .. rst-class:: classref-enumeration-constant
  584. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DIR_AUTO** = ``9``
  585. Sets text direction to automatic.
  586. .. _class_TextEdit_constant_MENU_DIR_LTR:
  587. .. rst-class:: classref-enumeration-constant
  588. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DIR_LTR** = ``10``
  589. Sets text direction to left-to-right.
  590. .. _class_TextEdit_constant_MENU_DIR_RTL:
  591. .. rst-class:: classref-enumeration-constant
  592. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DIR_RTL** = ``11``
  593. Sets text direction to right-to-left.
  594. .. _class_TextEdit_constant_MENU_DISPLAY_UCC:
  595. .. rst-class:: classref-enumeration-constant
  596. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DISPLAY_UCC** = ``12``
  597. Toggles control character display.
  598. .. _class_TextEdit_constant_MENU_SUBMENU_INSERT_UCC:
  599. .. rst-class:: classref-enumeration-constant
  600. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_SUBMENU_INSERT_UCC** = ``13``
  601. ID of "Insert Control Character" submenu.
  602. .. _class_TextEdit_constant_MENU_INSERT_LRM:
  603. .. rst-class:: classref-enumeration-constant
  604. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_LRM** = ``14``
  605. Inserts left-to-right mark (LRM) character.
  606. .. _class_TextEdit_constant_MENU_INSERT_RLM:
  607. .. rst-class:: classref-enumeration-constant
  608. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_RLM** = ``15``
  609. Inserts right-to-left mark (RLM) character.
  610. .. _class_TextEdit_constant_MENU_INSERT_LRE:
  611. .. rst-class:: classref-enumeration-constant
  612. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_LRE** = ``16``
  613. Inserts start of left-to-right embedding (LRE) character.
  614. .. _class_TextEdit_constant_MENU_INSERT_RLE:
  615. .. rst-class:: classref-enumeration-constant
  616. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_RLE** = ``17``
  617. Inserts start of right-to-left embedding (RLE) character.
  618. .. _class_TextEdit_constant_MENU_INSERT_LRO:
  619. .. rst-class:: classref-enumeration-constant
  620. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_LRO** = ``18``
  621. Inserts start of left-to-right override (LRO) character.
  622. .. _class_TextEdit_constant_MENU_INSERT_RLO:
  623. .. rst-class:: classref-enumeration-constant
  624. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_RLO** = ``19``
  625. Inserts start of right-to-left override (RLO) character.
  626. .. _class_TextEdit_constant_MENU_INSERT_PDF:
  627. .. rst-class:: classref-enumeration-constant
  628. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_PDF** = ``20``
  629. Inserts pop direction formatting (PDF) character.
  630. .. _class_TextEdit_constant_MENU_INSERT_ALM:
  631. .. rst-class:: classref-enumeration-constant
  632. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_ALM** = ``21``
  633. Inserts Arabic letter mark (ALM) character.
  634. .. _class_TextEdit_constant_MENU_INSERT_LRI:
  635. .. rst-class:: classref-enumeration-constant
  636. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_LRI** = ``22``
  637. Inserts left-to-right isolate (LRI) character.
  638. .. _class_TextEdit_constant_MENU_INSERT_RLI:
  639. .. rst-class:: classref-enumeration-constant
  640. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_RLI** = ``23``
  641. Inserts right-to-left isolate (RLI) character.
  642. .. _class_TextEdit_constant_MENU_INSERT_FSI:
  643. .. rst-class:: classref-enumeration-constant
  644. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_FSI** = ``24``
  645. Inserts first strong isolate (FSI) character.
  646. .. _class_TextEdit_constant_MENU_INSERT_PDI:
  647. .. rst-class:: classref-enumeration-constant
  648. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_PDI** = ``25``
  649. Inserts pop direction isolate (PDI) character.
  650. .. _class_TextEdit_constant_MENU_INSERT_ZWJ:
  651. .. rst-class:: classref-enumeration-constant
  652. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_ZWJ** = ``26``
  653. Inserts zero width joiner (ZWJ) character.
  654. .. _class_TextEdit_constant_MENU_INSERT_ZWNJ:
  655. .. rst-class:: classref-enumeration-constant
  656. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_ZWNJ** = ``27``
  657. Inserts zero width non-joiner (ZWNJ) character.
  658. .. _class_TextEdit_constant_MENU_INSERT_WJ:
  659. .. rst-class:: classref-enumeration-constant
  660. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_WJ** = ``28``
  661. Inserts word joiner (WJ) character.
  662. .. _class_TextEdit_constant_MENU_INSERT_SHY:
  663. .. rst-class:: classref-enumeration-constant
  664. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_SHY** = ``29``
  665. Inserts soft hyphen (SHY) character.
  666. .. _class_TextEdit_constant_MENU_EMOJI_AND_SYMBOL:
  667. .. rst-class:: classref-enumeration-constant
  668. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_EMOJI_AND_SYMBOL** = ``30``
  669. Opens system emoji and symbol picker.
  670. .. _class_TextEdit_constant_MENU_MAX:
  671. .. rst-class:: classref-enumeration-constant
  672. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_MAX** = ``31``
  673. Represents the size of the :ref:`MenuItems<enum_TextEdit_MenuItems>` enum.
  674. .. rst-class:: classref-item-separator
  675. ----
  676. .. _enum_TextEdit_EditAction:
  677. .. rst-class:: classref-enumeration
  678. enum **EditAction**: :ref:`🔗<enum_TextEdit_EditAction>`
  679. .. _class_TextEdit_constant_ACTION_NONE:
  680. .. rst-class:: classref-enumeration-constant
  681. :ref:`EditAction<enum_TextEdit_EditAction>` **ACTION_NONE** = ``0``
  682. No current action.
  683. .. _class_TextEdit_constant_ACTION_TYPING:
  684. .. rst-class:: classref-enumeration-constant
  685. :ref:`EditAction<enum_TextEdit_EditAction>` **ACTION_TYPING** = ``1``
  686. A typing action.
  687. .. _class_TextEdit_constant_ACTION_BACKSPACE:
  688. .. rst-class:: classref-enumeration-constant
  689. :ref:`EditAction<enum_TextEdit_EditAction>` **ACTION_BACKSPACE** = ``2``
  690. A backwards delete action.
  691. .. _class_TextEdit_constant_ACTION_DELETE:
  692. .. rst-class:: classref-enumeration-constant
  693. :ref:`EditAction<enum_TextEdit_EditAction>` **ACTION_DELETE** = ``3``
  694. A forward delete action.
  695. .. rst-class:: classref-item-separator
  696. ----
  697. .. _enum_TextEdit_SearchFlags:
  698. .. rst-class:: classref-enumeration
  699. enum **SearchFlags**: :ref:`🔗<enum_TextEdit_SearchFlags>`
  700. .. _class_TextEdit_constant_SEARCH_MATCH_CASE:
  701. .. rst-class:: classref-enumeration-constant
  702. :ref:`SearchFlags<enum_TextEdit_SearchFlags>` **SEARCH_MATCH_CASE** = ``1``
  703. Match case when searching.
  704. .. _class_TextEdit_constant_SEARCH_WHOLE_WORDS:
  705. .. rst-class:: classref-enumeration-constant
  706. :ref:`SearchFlags<enum_TextEdit_SearchFlags>` **SEARCH_WHOLE_WORDS** = ``2``
  707. Match whole words when searching.
  708. .. _class_TextEdit_constant_SEARCH_BACKWARDS:
  709. .. rst-class:: classref-enumeration-constant
  710. :ref:`SearchFlags<enum_TextEdit_SearchFlags>` **SEARCH_BACKWARDS** = ``4``
  711. Search from end to beginning.
  712. .. rst-class:: classref-item-separator
  713. ----
  714. .. _enum_TextEdit_CaretType:
  715. .. rst-class:: classref-enumeration
  716. enum **CaretType**: :ref:`🔗<enum_TextEdit_CaretType>`
  717. .. _class_TextEdit_constant_CARET_TYPE_LINE:
  718. .. rst-class:: classref-enumeration-constant
  719. :ref:`CaretType<enum_TextEdit_CaretType>` **CARET_TYPE_LINE** = ``0``
  720. Vertical line caret.
  721. .. _class_TextEdit_constant_CARET_TYPE_BLOCK:
  722. .. rst-class:: classref-enumeration-constant
  723. :ref:`CaretType<enum_TextEdit_CaretType>` **CARET_TYPE_BLOCK** = ``1``
  724. Block caret.
  725. .. rst-class:: classref-item-separator
  726. ----
  727. .. _enum_TextEdit_SelectionMode:
  728. .. rst-class:: classref-enumeration
  729. enum **SelectionMode**: :ref:`🔗<enum_TextEdit_SelectionMode>`
  730. .. _class_TextEdit_constant_SELECTION_MODE_NONE:
  731. .. rst-class:: classref-enumeration-constant
  732. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_NONE** = ``0``
  733. Not selecting.
  734. .. _class_TextEdit_constant_SELECTION_MODE_SHIFT:
  735. .. rst-class:: classref-enumeration-constant
  736. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_SHIFT** = ``1``
  737. Select as if ``shift`` is pressed.
  738. .. _class_TextEdit_constant_SELECTION_MODE_POINTER:
  739. .. rst-class:: classref-enumeration-constant
  740. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_POINTER** = ``2``
  741. Select single characters as if the user single clicked.
  742. .. _class_TextEdit_constant_SELECTION_MODE_WORD:
  743. .. rst-class:: classref-enumeration-constant
  744. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_WORD** = ``3``
  745. Select whole words as if the user double clicked.
  746. .. _class_TextEdit_constant_SELECTION_MODE_LINE:
  747. .. rst-class:: classref-enumeration-constant
  748. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_LINE** = ``4``
  749. Select whole lines as if the user triple clicked.
  750. .. rst-class:: classref-item-separator
  751. ----
  752. .. _enum_TextEdit_LineWrappingMode:
  753. .. rst-class:: classref-enumeration
  754. enum **LineWrappingMode**: :ref:`🔗<enum_TextEdit_LineWrappingMode>`
  755. .. _class_TextEdit_constant_LINE_WRAPPING_NONE:
  756. .. rst-class:: classref-enumeration-constant
  757. :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` **LINE_WRAPPING_NONE** = ``0``
  758. Line wrapping is disabled.
  759. .. _class_TextEdit_constant_LINE_WRAPPING_BOUNDARY:
  760. .. rst-class:: classref-enumeration-constant
  761. :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` **LINE_WRAPPING_BOUNDARY** = ``1``
  762. Line wrapping occurs at the control boundary, beyond what would normally be visible.
  763. .. rst-class:: classref-item-separator
  764. ----
  765. .. _enum_TextEdit_GutterType:
  766. .. rst-class:: classref-enumeration
  767. enum **GutterType**: :ref:`🔗<enum_TextEdit_GutterType>`
  768. .. _class_TextEdit_constant_GUTTER_TYPE_STRING:
  769. .. rst-class:: classref-enumeration-constant
  770. :ref:`GutterType<enum_TextEdit_GutterType>` **GUTTER_TYPE_STRING** = ``0``
  771. When a gutter is set to string using :ref:`set_gutter_type<class_TextEdit_method_set_gutter_type>`, it is used to contain text set via the :ref:`set_line_gutter_text<class_TextEdit_method_set_line_gutter_text>` method.
  772. .. _class_TextEdit_constant_GUTTER_TYPE_ICON:
  773. .. rst-class:: classref-enumeration-constant
  774. :ref:`GutterType<enum_TextEdit_GutterType>` **GUTTER_TYPE_ICON** = ``1``
  775. When a gutter is set to icon using :ref:`set_gutter_type<class_TextEdit_method_set_gutter_type>`, it is used to contain an icon set via the :ref:`set_line_gutter_icon<class_TextEdit_method_set_line_gutter_icon>` method.
  776. .. _class_TextEdit_constant_GUTTER_TYPE_CUSTOM:
  777. .. rst-class:: classref-enumeration-constant
  778. :ref:`GutterType<enum_TextEdit_GutterType>` **GUTTER_TYPE_CUSTOM** = ``2``
  779. When a gutter is set to custom using :ref:`set_gutter_type<class_TextEdit_method_set_gutter_type>`, it is used to contain custom visuals controlled by a callback method set via the :ref:`set_gutter_custom_draw<class_TextEdit_method_set_gutter_custom_draw>` method.
  780. .. rst-class:: classref-section-separator
  781. ----
  782. .. rst-class:: classref-descriptions-group
  783. Property Descriptions
  784. ---------------------
  785. .. _class_TextEdit_property_autowrap_mode:
  786. .. rst-class:: classref-property
  787. :ref:`AutowrapMode<enum_TextServer_AutowrapMode>` **autowrap_mode** = ``3`` :ref:`🔗<class_TextEdit_property_autowrap_mode>`
  788. .. rst-class:: classref-property-setget
  789. - |void| **set_autowrap_mode**\ (\ value\: :ref:`AutowrapMode<enum_TextServer_AutowrapMode>`\ )
  790. - :ref:`AutowrapMode<enum_TextServer_AutowrapMode>` **get_autowrap_mode**\ (\ )
  791. If :ref:`wrap_mode<class_TextEdit_property_wrap_mode>` is set to :ref:`LINE_WRAPPING_BOUNDARY<class_TextEdit_constant_LINE_WRAPPING_BOUNDARY>`, sets text wrapping mode. To see how each mode behaves, see :ref:`AutowrapMode<enum_TextServer_AutowrapMode>`.
  792. .. rst-class:: classref-item-separator
  793. ----
  794. .. _class_TextEdit_property_caret_blink:
  795. .. rst-class:: classref-property
  796. :ref:`bool<class_bool>` **caret_blink** = ``false`` :ref:`🔗<class_TextEdit_property_caret_blink>`
  797. .. rst-class:: classref-property-setget
  798. - |void| **set_caret_blink_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  799. - :ref:`bool<class_bool>` **is_caret_blink_enabled**\ (\ )
  800. If ``true``, makes the caret blink.
  801. .. rst-class:: classref-item-separator
  802. ----
  803. .. _class_TextEdit_property_caret_blink_interval:
  804. .. rst-class:: classref-property
  805. :ref:`float<class_float>` **caret_blink_interval** = ``0.65`` :ref:`🔗<class_TextEdit_property_caret_blink_interval>`
  806. .. rst-class:: classref-property-setget
  807. - |void| **set_caret_blink_interval**\ (\ value\: :ref:`float<class_float>`\ )
  808. - :ref:`float<class_float>` **get_caret_blink_interval**\ (\ )
  809. The interval at which the caret blinks (in seconds).
  810. .. rst-class:: classref-item-separator
  811. ----
  812. .. _class_TextEdit_property_caret_draw_when_editable_disabled:
  813. .. rst-class:: classref-property
  814. :ref:`bool<class_bool>` **caret_draw_when_editable_disabled** = ``false`` :ref:`🔗<class_TextEdit_property_caret_draw_when_editable_disabled>`
  815. .. rst-class:: classref-property-setget
  816. - |void| **set_draw_caret_when_editable_disabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  817. - :ref:`bool<class_bool>` **is_drawing_caret_when_editable_disabled**\ (\ )
  818. If ``true``, caret will be visible when :ref:`editable<class_TextEdit_property_editable>` is disabled.
  819. .. rst-class:: classref-item-separator
  820. ----
  821. .. _class_TextEdit_property_caret_mid_grapheme:
  822. .. rst-class:: classref-property
  823. :ref:`bool<class_bool>` **caret_mid_grapheme** = ``false`` :ref:`🔗<class_TextEdit_property_caret_mid_grapheme>`
  824. .. rst-class:: classref-property-setget
  825. - |void| **set_caret_mid_grapheme_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  826. - :ref:`bool<class_bool>` **is_caret_mid_grapheme_enabled**\ (\ )
  827. Allow moving caret, selecting and removing the individual composite character components.
  828. \ **Note:** :kbd:`Backspace` is always removing individual composite character components.
  829. .. rst-class:: classref-item-separator
  830. ----
  831. .. _class_TextEdit_property_caret_move_on_right_click:
  832. .. rst-class:: classref-property
  833. :ref:`bool<class_bool>` **caret_move_on_right_click** = ``true`` :ref:`🔗<class_TextEdit_property_caret_move_on_right_click>`
  834. .. rst-class:: classref-property-setget
  835. - |void| **set_move_caret_on_right_click_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  836. - :ref:`bool<class_bool>` **is_move_caret_on_right_click_enabled**\ (\ )
  837. If ``true``, a right-click moves the caret at the mouse position before displaying the context menu.
  838. If ``false``, the context menu ignores mouse location.
  839. .. rst-class:: classref-item-separator
  840. ----
  841. .. _class_TextEdit_property_caret_multiple:
  842. .. rst-class:: classref-property
  843. :ref:`bool<class_bool>` **caret_multiple** = ``true`` :ref:`🔗<class_TextEdit_property_caret_multiple>`
  844. .. rst-class:: classref-property-setget
  845. - |void| **set_multiple_carets_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  846. - :ref:`bool<class_bool>` **is_multiple_carets_enabled**\ (\ )
  847. If ``true``, multiple carets are allowed. Left-clicking with :kbd:`Alt` adds a new caret. See :ref:`add_caret<class_TextEdit_method_add_caret>` and :ref:`get_caret_count<class_TextEdit_method_get_caret_count>`.
  848. .. rst-class:: classref-item-separator
  849. ----
  850. .. _class_TextEdit_property_caret_type:
  851. .. rst-class:: classref-property
  852. :ref:`CaretType<enum_TextEdit_CaretType>` **caret_type** = ``0`` :ref:`🔗<class_TextEdit_property_caret_type>`
  853. .. rst-class:: classref-property-setget
  854. - |void| **set_caret_type**\ (\ value\: :ref:`CaretType<enum_TextEdit_CaretType>`\ )
  855. - :ref:`CaretType<enum_TextEdit_CaretType>` **get_caret_type**\ (\ )
  856. Set the type of caret to draw.
  857. .. rst-class:: classref-item-separator
  858. ----
  859. .. _class_TextEdit_property_context_menu_enabled:
  860. .. rst-class:: classref-property
  861. :ref:`bool<class_bool>` **context_menu_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_context_menu_enabled>`
  862. .. rst-class:: classref-property-setget
  863. - |void| **set_context_menu_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  864. - :ref:`bool<class_bool>` **is_context_menu_enabled**\ (\ )
  865. If ``true``, a right-click displays the context menu.
  866. .. rst-class:: classref-item-separator
  867. ----
  868. .. _class_TextEdit_property_custom_word_separators:
  869. .. rst-class:: classref-property
  870. :ref:`String<class_String>` **custom_word_separators** = ``""`` :ref:`🔗<class_TextEdit_property_custom_word_separators>`
  871. .. rst-class:: classref-property-setget
  872. - |void| **set_custom_word_separators**\ (\ value\: :ref:`String<class_String>`\ )
  873. - :ref:`String<class_String>` **get_custom_word_separators**\ (\ )
  874. The characters to consider as word delimiters if :ref:`use_custom_word_separators<class_TextEdit_property_use_custom_word_separators>` is ``true``. The characters should be defined without separation, for example ``#_!``.
  875. .. rst-class:: classref-item-separator
  876. ----
  877. .. _class_TextEdit_property_deselect_on_focus_loss_enabled:
  878. .. rst-class:: classref-property
  879. :ref:`bool<class_bool>` **deselect_on_focus_loss_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_deselect_on_focus_loss_enabled>`
  880. .. rst-class:: classref-property-setget
  881. - |void| **set_deselect_on_focus_loss_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  882. - :ref:`bool<class_bool>` **is_deselect_on_focus_loss_enabled**\ (\ )
  883. If ``true``, the selected text will be deselected when focus is lost.
  884. .. rst-class:: classref-item-separator
  885. ----
  886. .. _class_TextEdit_property_drag_and_drop_selection_enabled:
  887. .. rst-class:: classref-property
  888. :ref:`bool<class_bool>` **drag_and_drop_selection_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_drag_and_drop_selection_enabled>`
  889. .. rst-class:: classref-property-setget
  890. - |void| **set_drag_and_drop_selection_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  891. - :ref:`bool<class_bool>` **is_drag_and_drop_selection_enabled**\ (\ )
  892. If ``true``, allow drag and drop of selected text. Text can still be dropped from other sources.
  893. .. rst-class:: classref-item-separator
  894. ----
  895. .. _class_TextEdit_property_draw_control_chars:
  896. .. rst-class:: classref-property
  897. :ref:`bool<class_bool>` **draw_control_chars** = ``false`` :ref:`🔗<class_TextEdit_property_draw_control_chars>`
  898. .. rst-class:: classref-property-setget
  899. - |void| **set_draw_control_chars**\ (\ value\: :ref:`bool<class_bool>`\ )
  900. - :ref:`bool<class_bool>` **get_draw_control_chars**\ (\ )
  901. If ``true``, control characters are displayed.
  902. .. rst-class:: classref-item-separator
  903. ----
  904. .. _class_TextEdit_property_draw_spaces:
  905. .. rst-class:: classref-property
  906. :ref:`bool<class_bool>` **draw_spaces** = ``false`` :ref:`🔗<class_TextEdit_property_draw_spaces>`
  907. .. rst-class:: classref-property-setget
  908. - |void| **set_draw_spaces**\ (\ value\: :ref:`bool<class_bool>`\ )
  909. - :ref:`bool<class_bool>` **is_drawing_spaces**\ (\ )
  910. If ``true``, the "space" character will have a visible representation.
  911. .. rst-class:: classref-item-separator
  912. ----
  913. .. _class_TextEdit_property_draw_tabs:
  914. .. rst-class:: classref-property
  915. :ref:`bool<class_bool>` **draw_tabs** = ``false`` :ref:`🔗<class_TextEdit_property_draw_tabs>`
  916. .. rst-class:: classref-property-setget
  917. - |void| **set_draw_tabs**\ (\ value\: :ref:`bool<class_bool>`\ )
  918. - :ref:`bool<class_bool>` **is_drawing_tabs**\ (\ )
  919. If ``true``, the "tab" character will have a visible representation.
  920. .. rst-class:: classref-item-separator
  921. ----
  922. .. _class_TextEdit_property_editable:
  923. .. rst-class:: classref-property
  924. :ref:`bool<class_bool>` **editable** = ``true`` :ref:`🔗<class_TextEdit_property_editable>`
  925. .. rst-class:: classref-property-setget
  926. - |void| **set_editable**\ (\ value\: :ref:`bool<class_bool>`\ )
  927. - :ref:`bool<class_bool>` **is_editable**\ (\ )
  928. If ``false``, existing text cannot be modified and new text cannot be added.
  929. .. rst-class:: classref-item-separator
  930. ----
  931. .. _class_TextEdit_property_emoji_menu_enabled:
  932. .. rst-class:: classref-property
  933. :ref:`bool<class_bool>` **emoji_menu_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_emoji_menu_enabled>`
  934. .. rst-class:: classref-property-setget
  935. - |void| **set_emoji_menu_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  936. - :ref:`bool<class_bool>` **is_emoji_menu_enabled**\ (\ )
  937. If ``true``, "Emoji and Symbols" menu is enabled.
  938. .. rst-class:: classref-item-separator
  939. ----
  940. .. _class_TextEdit_property_empty_selection_clipboard_enabled:
  941. .. rst-class:: classref-property
  942. :ref:`bool<class_bool>` **empty_selection_clipboard_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_empty_selection_clipboard_enabled>`
  943. .. rst-class:: classref-property-setget
  944. - |void| **set_empty_selection_clipboard_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  945. - :ref:`bool<class_bool>` **is_empty_selection_clipboard_enabled**\ (\ )
  946. If ``true``, copying or cutting without a selection is performed on all lines with a caret. Otherwise, copy and cut require a selection.
  947. .. rst-class:: classref-item-separator
  948. ----
  949. .. _class_TextEdit_property_highlight_all_occurrences:
  950. .. rst-class:: classref-property
  951. :ref:`bool<class_bool>` **highlight_all_occurrences** = ``false`` :ref:`🔗<class_TextEdit_property_highlight_all_occurrences>`
  952. .. rst-class:: classref-property-setget
  953. - |void| **set_highlight_all_occurrences**\ (\ value\: :ref:`bool<class_bool>`\ )
  954. - :ref:`bool<class_bool>` **is_highlight_all_occurrences_enabled**\ (\ )
  955. If ``true``, all occurrences of the selected text will be highlighted.
  956. .. rst-class:: classref-item-separator
  957. ----
  958. .. _class_TextEdit_property_highlight_current_line:
  959. .. rst-class:: classref-property
  960. :ref:`bool<class_bool>` **highlight_current_line** = ``false`` :ref:`🔗<class_TextEdit_property_highlight_current_line>`
  961. .. rst-class:: classref-property-setget
  962. - |void| **set_highlight_current_line**\ (\ value\: :ref:`bool<class_bool>`\ )
  963. - :ref:`bool<class_bool>` **is_highlight_current_line_enabled**\ (\ )
  964. If ``true``, the line containing the cursor is highlighted.
  965. .. rst-class:: classref-item-separator
  966. ----
  967. .. _class_TextEdit_property_indent_wrapped_lines:
  968. .. rst-class:: classref-property
  969. :ref:`bool<class_bool>` **indent_wrapped_lines** = ``false`` :ref:`🔗<class_TextEdit_property_indent_wrapped_lines>`
  970. .. rst-class:: classref-property-setget
  971. - |void| **set_indent_wrapped_lines**\ (\ value\: :ref:`bool<class_bool>`\ )
  972. - :ref:`bool<class_bool>` **is_indent_wrapped_lines**\ (\ )
  973. If ``true``, all wrapped lines are indented to the same amount as the unwrapped line.
  974. .. rst-class:: classref-item-separator
  975. ----
  976. .. _class_TextEdit_property_language:
  977. .. rst-class:: classref-property
  978. :ref:`String<class_String>` **language** = ``""`` :ref:`🔗<class_TextEdit_property_language>`
  979. .. rst-class:: classref-property-setget
  980. - |void| **set_language**\ (\ value\: :ref:`String<class_String>`\ )
  981. - :ref:`String<class_String>` **get_language**\ (\ )
  982. Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
  983. .. rst-class:: classref-item-separator
  984. ----
  985. .. _class_TextEdit_property_middle_mouse_paste_enabled:
  986. .. rst-class:: classref-property
  987. :ref:`bool<class_bool>` **middle_mouse_paste_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_middle_mouse_paste_enabled>`
  988. .. rst-class:: classref-property-setget
  989. - |void| **set_middle_mouse_paste_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  990. - :ref:`bool<class_bool>` **is_middle_mouse_paste_enabled**\ (\ )
  991. If ``false``, using middle mouse button to paste clipboard will be disabled.
  992. \ **Note:** This method is only implemented on Linux.
  993. .. rst-class:: classref-item-separator
  994. ----
  995. .. _class_TextEdit_property_minimap_draw:
  996. .. rst-class:: classref-property
  997. :ref:`bool<class_bool>` **minimap_draw** = ``false`` :ref:`🔗<class_TextEdit_property_minimap_draw>`
  998. .. rst-class:: classref-property-setget
  999. - |void| **set_draw_minimap**\ (\ value\: :ref:`bool<class_bool>`\ )
  1000. - :ref:`bool<class_bool>` **is_drawing_minimap**\ (\ )
  1001. If ``true``, a minimap is shown, providing an outline of your source code. The minimap uses a fixed-width text size.
  1002. .. rst-class:: classref-item-separator
  1003. ----
  1004. .. _class_TextEdit_property_minimap_width:
  1005. .. rst-class:: classref-property
  1006. :ref:`int<class_int>` **minimap_width** = ``80`` :ref:`🔗<class_TextEdit_property_minimap_width>`
  1007. .. rst-class:: classref-property-setget
  1008. - |void| **set_minimap_width**\ (\ value\: :ref:`int<class_int>`\ )
  1009. - :ref:`int<class_int>` **get_minimap_width**\ (\ )
  1010. The width, in pixels, of the minimap.
  1011. .. rst-class:: classref-item-separator
  1012. ----
  1013. .. _class_TextEdit_property_placeholder_text:
  1014. .. rst-class:: classref-property
  1015. :ref:`String<class_String>` **placeholder_text** = ``""`` :ref:`🔗<class_TextEdit_property_placeholder_text>`
  1016. .. rst-class:: classref-property-setget
  1017. - |void| **set_placeholder**\ (\ value\: :ref:`String<class_String>`\ )
  1018. - :ref:`String<class_String>` **get_placeholder**\ (\ )
  1019. Text shown when the **TextEdit** is empty. It is **not** the **TextEdit**'s default value (see :ref:`text<class_TextEdit_property_text>`).
  1020. .. rst-class:: classref-item-separator
  1021. ----
  1022. .. _class_TextEdit_property_scroll_fit_content_height:
  1023. .. rst-class:: classref-property
  1024. :ref:`bool<class_bool>` **scroll_fit_content_height** = ``false`` :ref:`🔗<class_TextEdit_property_scroll_fit_content_height>`
  1025. .. rst-class:: classref-property-setget
  1026. - |void| **set_fit_content_height_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1027. - :ref:`bool<class_bool>` **is_fit_content_height_enabled**\ (\ )
  1028. If ``true``, **TextEdit** will disable vertical scroll and fit minimum height to the number of visible lines. When both this property and :ref:`scroll_fit_content_width<class_TextEdit_property_scroll_fit_content_width>` are ``true``, no scrollbars will be displayed.
  1029. .. rst-class:: classref-item-separator
  1030. ----
  1031. .. _class_TextEdit_property_scroll_fit_content_width:
  1032. .. rst-class:: classref-property
  1033. :ref:`bool<class_bool>` **scroll_fit_content_width** = ``false`` :ref:`🔗<class_TextEdit_property_scroll_fit_content_width>`
  1034. .. rst-class:: classref-property-setget
  1035. - |void| **set_fit_content_width_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1036. - :ref:`bool<class_bool>` **is_fit_content_width_enabled**\ (\ )
  1037. If ``true``, **TextEdit** will disable horizontal scroll and fit minimum width to the widest line in the text. When both this property and :ref:`scroll_fit_content_height<class_TextEdit_property_scroll_fit_content_height>` are ``true``, no scrollbars will be displayed.
  1038. .. rst-class:: classref-item-separator
  1039. ----
  1040. .. _class_TextEdit_property_scroll_horizontal:
  1041. .. rst-class:: classref-property
  1042. :ref:`int<class_int>` **scroll_horizontal** = ``0`` :ref:`🔗<class_TextEdit_property_scroll_horizontal>`
  1043. .. rst-class:: classref-property-setget
  1044. - |void| **set_h_scroll**\ (\ value\: :ref:`int<class_int>`\ )
  1045. - :ref:`int<class_int>` **get_h_scroll**\ (\ )
  1046. If there is a horizontal scrollbar, this determines the current horizontal scroll value in pixels.
  1047. .. rst-class:: classref-item-separator
  1048. ----
  1049. .. _class_TextEdit_property_scroll_past_end_of_file:
  1050. .. rst-class:: classref-property
  1051. :ref:`bool<class_bool>` **scroll_past_end_of_file** = ``false`` :ref:`🔗<class_TextEdit_property_scroll_past_end_of_file>`
  1052. .. rst-class:: classref-property-setget
  1053. - |void| **set_scroll_past_end_of_file_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1054. - :ref:`bool<class_bool>` **is_scroll_past_end_of_file_enabled**\ (\ )
  1055. Allow scrolling past the last line into "virtual" space.
  1056. .. rst-class:: classref-item-separator
  1057. ----
  1058. .. _class_TextEdit_property_scroll_smooth:
  1059. .. rst-class:: classref-property
  1060. :ref:`bool<class_bool>` **scroll_smooth** = ``false`` :ref:`🔗<class_TextEdit_property_scroll_smooth>`
  1061. .. rst-class:: classref-property-setget
  1062. - |void| **set_smooth_scroll_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1063. - :ref:`bool<class_bool>` **is_smooth_scroll_enabled**\ (\ )
  1064. Scroll smoothly over the text rather than jumping to the next location.
  1065. .. rst-class:: classref-item-separator
  1066. ----
  1067. .. _class_TextEdit_property_scroll_v_scroll_speed:
  1068. .. rst-class:: classref-property
  1069. :ref:`float<class_float>` **scroll_v_scroll_speed** = ``80.0`` :ref:`🔗<class_TextEdit_property_scroll_v_scroll_speed>`
  1070. .. rst-class:: classref-property-setget
  1071. - |void| **set_v_scroll_speed**\ (\ value\: :ref:`float<class_float>`\ )
  1072. - :ref:`float<class_float>` **get_v_scroll_speed**\ (\ )
  1073. Sets the scroll speed with the minimap or when :ref:`scroll_smooth<class_TextEdit_property_scroll_smooth>` is enabled.
  1074. .. rst-class:: classref-item-separator
  1075. ----
  1076. .. _class_TextEdit_property_scroll_vertical:
  1077. .. rst-class:: classref-property
  1078. :ref:`float<class_float>` **scroll_vertical** = ``0.0`` :ref:`🔗<class_TextEdit_property_scroll_vertical>`
  1079. .. rst-class:: classref-property-setget
  1080. - |void| **set_v_scroll**\ (\ value\: :ref:`float<class_float>`\ )
  1081. - :ref:`float<class_float>` **get_v_scroll**\ (\ )
  1082. If there is a vertical scrollbar, this determines the current vertical scroll value in line numbers, starting at 0 for the top line.
  1083. .. rst-class:: classref-item-separator
  1084. ----
  1085. .. _class_TextEdit_property_selecting_enabled:
  1086. .. rst-class:: classref-property
  1087. :ref:`bool<class_bool>` **selecting_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_selecting_enabled>`
  1088. .. rst-class:: classref-property-setget
  1089. - |void| **set_selecting_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1090. - :ref:`bool<class_bool>` **is_selecting_enabled**\ (\ )
  1091. If ``true``, text can be selected.
  1092. If ``false``, text can not be selected by the user or by the :ref:`select<class_TextEdit_method_select>` or :ref:`select_all<class_TextEdit_method_select_all>` methods.
  1093. .. rst-class:: classref-item-separator
  1094. ----
  1095. .. _class_TextEdit_property_shortcut_keys_enabled:
  1096. .. rst-class:: classref-property
  1097. :ref:`bool<class_bool>` **shortcut_keys_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_shortcut_keys_enabled>`
  1098. .. rst-class:: classref-property-setget
  1099. - |void| **set_shortcut_keys_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1100. - :ref:`bool<class_bool>` **is_shortcut_keys_enabled**\ (\ )
  1101. If ``true``, shortcut keys for context menu items are enabled, even if the context menu is disabled.
  1102. .. rst-class:: classref-item-separator
  1103. ----
  1104. .. _class_TextEdit_property_structured_text_bidi_override:
  1105. .. rst-class:: classref-property
  1106. :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` **structured_text_bidi_override** = ``0`` :ref:`🔗<class_TextEdit_property_structured_text_bidi_override>`
  1107. .. rst-class:: classref-property-setget
  1108. - |void| **set_structured_text_bidi_override**\ (\ value\: :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>`\ )
  1109. - :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` **get_structured_text_bidi_override**\ (\ )
  1110. Set BiDi algorithm override for the structured text.
  1111. .. rst-class:: classref-item-separator
  1112. ----
  1113. .. _class_TextEdit_property_structured_text_bidi_override_options:
  1114. .. rst-class:: classref-property
  1115. :ref:`Array<class_Array>` **structured_text_bidi_override_options** = ``[]`` :ref:`🔗<class_TextEdit_property_structured_text_bidi_override_options>`
  1116. .. rst-class:: classref-property-setget
  1117. - |void| **set_structured_text_bidi_override_options**\ (\ value\: :ref:`Array<class_Array>`\ )
  1118. - :ref:`Array<class_Array>` **get_structured_text_bidi_override_options**\ (\ )
  1119. Set additional options for BiDi override.
  1120. .. rst-class:: classref-item-separator
  1121. ----
  1122. .. _class_TextEdit_property_syntax_highlighter:
  1123. .. rst-class:: classref-property
  1124. :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` **syntax_highlighter** :ref:`🔗<class_TextEdit_property_syntax_highlighter>`
  1125. .. rst-class:: classref-property-setget
  1126. - |void| **set_syntax_highlighter**\ (\ value\: :ref:`SyntaxHighlighter<class_SyntaxHighlighter>`\ )
  1127. - :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` **get_syntax_highlighter**\ (\ )
  1128. The syntax highlighter to use.
  1129. \ **Note:** A :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` instance should not be used across multiple **TextEdit** nodes.
  1130. .. rst-class:: classref-item-separator
  1131. ----
  1132. .. _class_TextEdit_property_text:
  1133. .. rst-class:: classref-property
  1134. :ref:`String<class_String>` **text** = ``""`` :ref:`🔗<class_TextEdit_property_text>`
  1135. .. rst-class:: classref-property-setget
  1136. - |void| **set_text**\ (\ value\: :ref:`String<class_String>`\ )
  1137. - :ref:`String<class_String>` **get_text**\ (\ )
  1138. String value of the **TextEdit**.
  1139. .. rst-class:: classref-item-separator
  1140. ----
  1141. .. _class_TextEdit_property_text_direction:
  1142. .. rst-class:: classref-property
  1143. :ref:`TextDirection<enum_Control_TextDirection>` **text_direction** = ``0`` :ref:`🔗<class_TextEdit_property_text_direction>`
  1144. .. rst-class:: classref-property-setget
  1145. - |void| **set_text_direction**\ (\ value\: :ref:`TextDirection<enum_Control_TextDirection>`\ )
  1146. - :ref:`TextDirection<enum_Control_TextDirection>` **get_text_direction**\ (\ )
  1147. Base text writing direction.
  1148. .. rst-class:: classref-item-separator
  1149. ----
  1150. .. _class_TextEdit_property_use_custom_word_separators:
  1151. .. rst-class:: classref-property
  1152. :ref:`bool<class_bool>` **use_custom_word_separators** = ``false`` :ref:`🔗<class_TextEdit_property_use_custom_word_separators>`
  1153. .. rst-class:: classref-property-setget
  1154. - |void| **set_use_custom_word_separators**\ (\ value\: :ref:`bool<class_bool>`\ )
  1155. - :ref:`bool<class_bool>` **is_custom_word_separators_enabled**\ (\ )
  1156. If ``false``, using :kbd:`Ctrl + Left` or :kbd:`Ctrl + Right` (:kbd:`Cmd + Left` or :kbd:`Cmd + Right` on macOS) bindings will use the behavior of :ref:`use_default_word_separators<class_TextEdit_property_use_default_word_separators>`. If ``true``, it will also stop the caret if a character within :ref:`custom_word_separators<class_TextEdit_property_custom_word_separators>` is detected. Useful for subword moving. This behavior also will be applied to the behavior of text selection.
  1157. .. rst-class:: classref-item-separator
  1158. ----
  1159. .. _class_TextEdit_property_use_default_word_separators:
  1160. .. rst-class:: classref-property
  1161. :ref:`bool<class_bool>` **use_default_word_separators** = ``true`` :ref:`🔗<class_TextEdit_property_use_default_word_separators>`
  1162. .. rst-class:: classref-property-setget
  1163. - |void| **set_use_default_word_separators**\ (\ value\: :ref:`bool<class_bool>`\ )
  1164. - :ref:`bool<class_bool>` **is_default_word_separators_enabled**\ (\ )
  1165. If ``false``, using :kbd:`Ctrl + Left` or :kbd:`Ctrl + Right` (:kbd:`Cmd + Left` or :kbd:`Cmd + Right` on macOS) bindings will stop moving caret only if a space or punctuation is detected. If ``true``, it will also stop the caret if a character is part of ``!"#$%&'()*+,-./:;<=>?@[\]^`{|}~``, the Unicode General Punctuation table, or the Unicode CJK Punctuation table. Useful for subword moving. This behavior also will be applied to the behavior of text selection.
  1166. .. rst-class:: classref-item-separator
  1167. ----
  1168. .. _class_TextEdit_property_virtual_keyboard_enabled:
  1169. .. rst-class:: classref-property
  1170. :ref:`bool<class_bool>` **virtual_keyboard_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_virtual_keyboard_enabled>`
  1171. .. rst-class:: classref-property-setget
  1172. - |void| **set_virtual_keyboard_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1173. - :ref:`bool<class_bool>` **is_virtual_keyboard_enabled**\ (\ )
  1174. If ``true``, the native virtual keyboard is shown when focused on platforms that support it.
  1175. .. rst-class:: classref-item-separator
  1176. ----
  1177. .. _class_TextEdit_property_wrap_mode:
  1178. .. rst-class:: classref-property
  1179. :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` **wrap_mode** = ``0`` :ref:`🔗<class_TextEdit_property_wrap_mode>`
  1180. .. rst-class:: classref-property-setget
  1181. - |void| **set_line_wrapping_mode**\ (\ value\: :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>`\ )
  1182. - :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` **get_line_wrapping_mode**\ (\ )
  1183. Sets the line wrapping mode to use.
  1184. .. rst-class:: classref-section-separator
  1185. ----
  1186. .. rst-class:: classref-descriptions-group
  1187. Method Descriptions
  1188. -------------------
  1189. .. _class_TextEdit_private_method__backspace:
  1190. .. rst-class:: classref-method
  1191. |void| **_backspace**\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__backspace>`
  1192. Override this method to define what happens when the user presses the backspace key.
  1193. .. rst-class:: classref-item-separator
  1194. ----
  1195. .. _class_TextEdit_private_method__copy:
  1196. .. rst-class:: classref-method
  1197. |void| **_copy**\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__copy>`
  1198. Override this method to define what happens when the user performs a copy operation.
  1199. .. rst-class:: classref-item-separator
  1200. ----
  1201. .. _class_TextEdit_private_method__cut:
  1202. .. rst-class:: classref-method
  1203. |void| **_cut**\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__cut>`
  1204. Override this method to define what happens when the user performs a cut operation.
  1205. .. rst-class:: classref-item-separator
  1206. ----
  1207. .. _class_TextEdit_private_method__handle_unicode_input:
  1208. .. rst-class:: classref-method
  1209. |void| **_handle_unicode_input**\ (\ unicode_char\: :ref:`int<class_int>`, caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__handle_unicode_input>`
  1210. Override this method to define what happens when the user types in the provided key ``unicode_char``.
  1211. .. rst-class:: classref-item-separator
  1212. ----
  1213. .. _class_TextEdit_private_method__paste:
  1214. .. rst-class:: classref-method
  1215. |void| **_paste**\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__paste>`
  1216. Override this method to define what happens when the user performs a paste operation.
  1217. .. rst-class:: classref-item-separator
  1218. ----
  1219. .. _class_TextEdit_private_method__paste_primary_clipboard:
  1220. .. rst-class:: classref-method
  1221. |void| **_paste_primary_clipboard**\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__paste_primary_clipboard>`
  1222. Override this method to define what happens when the user performs a paste operation with middle mouse button.
  1223. \ **Note:** This method is only implemented on Linux.
  1224. .. rst-class:: classref-item-separator
  1225. ----
  1226. .. _class_TextEdit_method_add_caret:
  1227. .. rst-class:: classref-method
  1228. :ref:`int<class_int>` **add_caret**\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_add_caret>`
  1229. Adds a new caret at the given location. Returns the index of the new caret, or ``-1`` if the location is invalid.
  1230. .. rst-class:: classref-item-separator
  1231. ----
  1232. .. _class_TextEdit_method_add_caret_at_carets:
  1233. .. rst-class:: classref-method
  1234. |void| **add_caret_at_carets**\ (\ below\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_add_caret_at_carets>`
  1235. Adds an additional caret above or below every caret. If ``below`` is ``true`` the new caret will be added below and above otherwise.
  1236. .. rst-class:: classref-item-separator
  1237. ----
  1238. .. _class_TextEdit_method_add_gutter:
  1239. .. rst-class:: classref-method
  1240. |void| **add_gutter**\ (\ at\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_add_gutter>`
  1241. Register a new gutter to this **TextEdit**. Use ``at`` to have a specific gutter order. A value of ``-1`` appends the gutter to the right.
  1242. .. rst-class:: classref-item-separator
  1243. ----
  1244. .. _class_TextEdit_method_add_selection_for_next_occurrence:
  1245. .. rst-class:: classref-method
  1246. |void| **add_selection_for_next_occurrence**\ (\ ) :ref:`🔗<class_TextEdit_method_add_selection_for_next_occurrence>`
  1247. Adds a selection and a caret for the next occurrence of the current selection. If there is no active selection, selects word under caret.
  1248. .. rst-class:: classref-item-separator
  1249. ----
  1250. .. _class_TextEdit_method_adjust_carets_after_edit:
  1251. .. rst-class:: classref-method
  1252. |void| **adjust_carets_after_edit**\ (\ caret\: :ref:`int<class_int>`, from_line\: :ref:`int<class_int>`, from_col\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`, to_col\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_adjust_carets_after_edit>`
  1253. **Deprecated:** No longer necessary since methods now adjust carets themselves.
  1254. This method does nothing.
  1255. .. rst-class:: classref-item-separator
  1256. ----
  1257. .. _class_TextEdit_method_adjust_viewport_to_caret:
  1258. .. rst-class:: classref-method
  1259. |void| **adjust_viewport_to_caret**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_adjust_viewport_to_caret>`
  1260. Adjust the viewport so the caret is visible.
  1261. .. rst-class:: classref-item-separator
  1262. ----
  1263. .. _class_TextEdit_method_apply_ime:
  1264. .. rst-class:: classref-method
  1265. |void| **apply_ime**\ (\ ) :ref:`🔗<class_TextEdit_method_apply_ime>`
  1266. Applies text from the `Input Method Editor <https://en.wikipedia.org/wiki/Input_method>`__ (IME) to each caret and closes the IME if it is open.
  1267. .. rst-class:: classref-item-separator
  1268. ----
  1269. .. _class_TextEdit_method_backspace:
  1270. .. rst-class:: classref-method
  1271. |void| **backspace**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_backspace>`
  1272. Called when the user presses the backspace key. Can be overridden with :ref:`_backspace<class_TextEdit_private_method__backspace>`.
  1273. .. rst-class:: classref-item-separator
  1274. ----
  1275. .. _class_TextEdit_method_begin_complex_operation:
  1276. .. rst-class:: classref-method
  1277. |void| **begin_complex_operation**\ (\ ) :ref:`🔗<class_TextEdit_method_begin_complex_operation>`
  1278. Starts a multipart edit. All edits will be treated as one action until :ref:`end_complex_operation<class_TextEdit_method_end_complex_operation>` is called.
  1279. .. rst-class:: classref-item-separator
  1280. ----
  1281. .. _class_TextEdit_method_begin_multicaret_edit:
  1282. .. rst-class:: classref-method
  1283. |void| **begin_multicaret_edit**\ (\ ) :ref:`🔗<class_TextEdit_method_begin_multicaret_edit>`
  1284. Starts an edit for multiple carets. The edit must be ended with :ref:`end_multicaret_edit<class_TextEdit_method_end_multicaret_edit>`. Multicaret edits can be used to edit text at multiple carets and delay merging the carets until the end, so the caret indexes aren't affected immediately. :ref:`begin_multicaret_edit<class_TextEdit_method_begin_multicaret_edit>` and :ref:`end_multicaret_edit<class_TextEdit_method_end_multicaret_edit>` can be nested, and the merge will happen at the last :ref:`end_multicaret_edit<class_TextEdit_method_end_multicaret_edit>`.
  1285. ::
  1286. begin_complex_operation()
  1287. begin_multicaret_edit()
  1288. for i in range(get_caret_count()):
  1289. if multicaret_edit_ignore_caret(i):
  1290. continue
  1291. # Logic here.
  1292. end_multicaret_edit()
  1293. end_complex_operation()
  1294. .. rst-class:: classref-item-separator
  1295. ----
  1296. .. _class_TextEdit_method_cancel_ime:
  1297. .. rst-class:: classref-method
  1298. |void| **cancel_ime**\ (\ ) :ref:`🔗<class_TextEdit_method_cancel_ime>`
  1299. Closes the `Input Method Editor <https://en.wikipedia.org/wiki/Input_method>`__ (IME) if it is open. Any text in the IME will be lost.
  1300. .. rst-class:: classref-item-separator
  1301. ----
  1302. .. _class_TextEdit_method_center_viewport_to_caret:
  1303. .. rst-class:: classref-method
  1304. |void| **center_viewport_to_caret**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_center_viewport_to_caret>`
  1305. Centers the viewport on the line the editing caret is at. This also resets the :ref:`scroll_horizontal<class_TextEdit_property_scroll_horizontal>` value to ``0``.
  1306. .. rst-class:: classref-item-separator
  1307. ----
  1308. .. _class_TextEdit_method_clear:
  1309. .. rst-class:: classref-method
  1310. |void| **clear**\ (\ ) :ref:`🔗<class_TextEdit_method_clear>`
  1311. Performs a full reset of **TextEdit**, including undo history.
  1312. .. rst-class:: classref-item-separator
  1313. ----
  1314. .. _class_TextEdit_method_clear_undo_history:
  1315. .. rst-class:: classref-method
  1316. |void| **clear_undo_history**\ (\ ) :ref:`🔗<class_TextEdit_method_clear_undo_history>`
  1317. Clears the undo history.
  1318. .. rst-class:: classref-item-separator
  1319. ----
  1320. .. _class_TextEdit_method_collapse_carets:
  1321. .. rst-class:: classref-method
  1322. |void| **collapse_carets**\ (\ from_line\: :ref:`int<class_int>`, from_column\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`, to_column\: :ref:`int<class_int>`, inclusive\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_TextEdit_method_collapse_carets>`
  1323. Collapse all carets in the given range to the ``from_line`` and ``from_column`` position.
  1324. \ ``inclusive`` applies to both ends.
  1325. If :ref:`is_in_mulitcaret_edit<class_TextEdit_method_is_in_mulitcaret_edit>` is ``true``, carets that are collapsed will be ``true`` for :ref:`multicaret_edit_ignore_caret<class_TextEdit_method_multicaret_edit_ignore_caret>`.
  1326. \ :ref:`merge_overlapping_carets<class_TextEdit_method_merge_overlapping_carets>` will be called if any carets were collapsed.
  1327. .. rst-class:: classref-item-separator
  1328. ----
  1329. .. _class_TextEdit_method_copy:
  1330. .. rst-class:: classref-method
  1331. |void| **copy**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_copy>`
  1332. Copies the current text selection. Can be overridden with :ref:`_copy<class_TextEdit_private_method__copy>`.
  1333. .. rst-class:: classref-item-separator
  1334. ----
  1335. .. _class_TextEdit_method_cut:
  1336. .. rst-class:: classref-method
  1337. |void| **cut**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_cut>`
  1338. Cut's the current selection. Can be overridden with :ref:`_cut<class_TextEdit_private_method__cut>`.
  1339. .. rst-class:: classref-item-separator
  1340. ----
  1341. .. _class_TextEdit_method_delete_selection:
  1342. .. rst-class:: classref-method
  1343. |void| **delete_selection**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_delete_selection>`
  1344. Deletes the selected text.
  1345. .. rst-class:: classref-item-separator
  1346. ----
  1347. .. _class_TextEdit_method_deselect:
  1348. .. rst-class:: classref-method
  1349. |void| **deselect**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_deselect>`
  1350. Deselects the current selection.
  1351. .. rst-class:: classref-item-separator
  1352. ----
  1353. .. _class_TextEdit_method_end_action:
  1354. .. rst-class:: classref-method
  1355. |void| **end_action**\ (\ ) :ref:`🔗<class_TextEdit_method_end_action>`
  1356. Marks the end of steps in the current action started with :ref:`start_action<class_TextEdit_method_start_action>`.
  1357. .. rst-class:: classref-item-separator
  1358. ----
  1359. .. _class_TextEdit_method_end_complex_operation:
  1360. .. rst-class:: classref-method
  1361. |void| **end_complex_operation**\ (\ ) :ref:`🔗<class_TextEdit_method_end_complex_operation>`
  1362. Ends a multipart edit, started with :ref:`begin_complex_operation<class_TextEdit_method_begin_complex_operation>`. If called outside a complex operation, the current operation is pushed onto the undo/redo stack.
  1363. .. rst-class:: classref-item-separator
  1364. ----
  1365. .. _class_TextEdit_method_end_multicaret_edit:
  1366. .. rst-class:: classref-method
  1367. |void| **end_multicaret_edit**\ (\ ) :ref:`🔗<class_TextEdit_method_end_multicaret_edit>`
  1368. Ends an edit for multiple carets, that was started with :ref:`begin_multicaret_edit<class_TextEdit_method_begin_multicaret_edit>`. If this was the last :ref:`end_multicaret_edit<class_TextEdit_method_end_multicaret_edit>` and :ref:`merge_overlapping_carets<class_TextEdit_method_merge_overlapping_carets>` was called, carets will be merged.
  1369. .. rst-class:: classref-item-separator
  1370. ----
  1371. .. _class_TextEdit_method_get_caret_column:
  1372. .. rst-class:: classref-method
  1373. :ref:`int<class_int>` **get_caret_column**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_caret_column>`
  1374. Returns the column the editing caret is at.
  1375. .. rst-class:: classref-item-separator
  1376. ----
  1377. .. _class_TextEdit_method_get_caret_count:
  1378. .. rst-class:: classref-method
  1379. :ref:`int<class_int>` **get_caret_count**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_caret_count>`
  1380. Returns the number of carets in this **TextEdit**.
  1381. .. rst-class:: classref-item-separator
  1382. ----
  1383. .. _class_TextEdit_method_get_caret_draw_pos:
  1384. .. rst-class:: classref-method
  1385. :ref:`Vector2<class_Vector2>` **get_caret_draw_pos**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_caret_draw_pos>`
  1386. Returns the caret pixel draw position.
  1387. .. rst-class:: classref-item-separator
  1388. ----
  1389. .. _class_TextEdit_method_get_caret_index_edit_order:
  1390. .. rst-class:: classref-method
  1391. :ref:`PackedInt32Array<class_PackedInt32Array>` **get_caret_index_edit_order**\ (\ ) :ref:`🔗<class_TextEdit_method_get_caret_index_edit_order>`
  1392. **Deprecated:** Carets no longer need to be edited in any specific order. If the carets need to be sorted, use :ref:`get_sorted_carets<class_TextEdit_method_get_sorted_carets>` instead.
  1393. Returns a list of caret indexes in their edit order, this done from bottom to top. Edit order refers to the way actions such as :ref:`insert_text_at_caret<class_TextEdit_method_insert_text_at_caret>` are applied.
  1394. .. rst-class:: classref-item-separator
  1395. ----
  1396. .. _class_TextEdit_method_get_caret_line:
  1397. .. rst-class:: classref-method
  1398. :ref:`int<class_int>` **get_caret_line**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_caret_line>`
  1399. Returns the line the editing caret is on.
  1400. .. rst-class:: classref-item-separator
  1401. ----
  1402. .. _class_TextEdit_method_get_caret_wrap_index:
  1403. .. rst-class:: classref-method
  1404. :ref:`int<class_int>` **get_caret_wrap_index**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_caret_wrap_index>`
  1405. Returns the wrap index the editing caret is on.
  1406. .. rst-class:: classref-item-separator
  1407. ----
  1408. .. _class_TextEdit_method_get_first_non_whitespace_column:
  1409. .. rst-class:: classref-method
  1410. :ref:`int<class_int>` **get_first_non_whitespace_column**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_first_non_whitespace_column>`
  1411. Returns the first column containing a non-whitespace character on the given line. If there is only whitespace, returns the number of characters.
  1412. .. rst-class:: classref-item-separator
  1413. ----
  1414. .. _class_TextEdit_method_get_first_visible_line:
  1415. .. rst-class:: classref-method
  1416. :ref:`int<class_int>` **get_first_visible_line**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_first_visible_line>`
  1417. Returns the first visible line.
  1418. .. rst-class:: classref-item-separator
  1419. ----
  1420. .. _class_TextEdit_method_get_gutter_count:
  1421. .. rst-class:: classref-method
  1422. :ref:`int<class_int>` **get_gutter_count**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_gutter_count>`
  1423. Returns the number of gutters registered.
  1424. .. rst-class:: classref-item-separator
  1425. ----
  1426. .. _class_TextEdit_method_get_gutter_name:
  1427. .. rst-class:: classref-method
  1428. :ref:`String<class_String>` **get_gutter_name**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_gutter_name>`
  1429. Returns the name of the gutter at the given index.
  1430. .. rst-class:: classref-item-separator
  1431. ----
  1432. .. _class_TextEdit_method_get_gutter_type:
  1433. .. rst-class:: classref-method
  1434. :ref:`GutterType<enum_TextEdit_GutterType>` **get_gutter_type**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_gutter_type>`
  1435. Returns the type of the gutter at the given index. Gutters can contain icons, text, or custom visuals. See :ref:`GutterType<enum_TextEdit_GutterType>` for options.
  1436. .. rst-class:: classref-item-separator
  1437. ----
  1438. .. _class_TextEdit_method_get_gutter_width:
  1439. .. rst-class:: classref-method
  1440. :ref:`int<class_int>` **get_gutter_width**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_gutter_width>`
  1441. Returns the width of the gutter at the given index.
  1442. .. rst-class:: classref-item-separator
  1443. ----
  1444. .. _class_TextEdit_method_get_h_scroll_bar:
  1445. .. rst-class:: classref-method
  1446. :ref:`HScrollBar<class_HScrollBar>` **get_h_scroll_bar**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_h_scroll_bar>`
  1447. Returns the :ref:`HScrollBar<class_HScrollBar>` used by **TextEdit**.
  1448. .. rst-class:: classref-item-separator
  1449. ----
  1450. .. _class_TextEdit_method_get_indent_level:
  1451. .. rst-class:: classref-method
  1452. :ref:`int<class_int>` **get_indent_level**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_indent_level>`
  1453. Returns the indent level of the given line. This is the number of spaces and tabs at the beginning of the line, with the tabs taking the tab size into account (see :ref:`get_tab_size<class_TextEdit_method_get_tab_size>`).
  1454. .. rst-class:: classref-item-separator
  1455. ----
  1456. .. _class_TextEdit_method_get_last_full_visible_line:
  1457. .. rst-class:: classref-method
  1458. :ref:`int<class_int>` **get_last_full_visible_line**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_last_full_visible_line>`
  1459. Returns the last visible line. Use :ref:`get_last_full_visible_line_wrap_index<class_TextEdit_method_get_last_full_visible_line_wrap_index>` for the wrap index.
  1460. .. rst-class:: classref-item-separator
  1461. ----
  1462. .. _class_TextEdit_method_get_last_full_visible_line_wrap_index:
  1463. .. rst-class:: classref-method
  1464. :ref:`int<class_int>` **get_last_full_visible_line_wrap_index**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_last_full_visible_line_wrap_index>`
  1465. Returns the last visible wrap index of the last visible line.
  1466. .. rst-class:: classref-item-separator
  1467. ----
  1468. .. _class_TextEdit_method_get_last_unhidden_line:
  1469. .. rst-class:: classref-method
  1470. :ref:`int<class_int>` **get_last_unhidden_line**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_last_unhidden_line>`
  1471. Returns the last unhidden line in the entire **TextEdit**.
  1472. .. rst-class:: classref-item-separator
  1473. ----
  1474. .. _class_TextEdit_method_get_line:
  1475. .. rst-class:: classref-method
  1476. :ref:`String<class_String>` **get_line**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line>`
  1477. Returns the text of a specific line.
  1478. .. rst-class:: classref-item-separator
  1479. ----
  1480. .. _class_TextEdit_method_get_line_background_color:
  1481. .. rst-class:: classref-method
  1482. :ref:`Color<class_Color>` **get_line_background_color**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_background_color>`
  1483. Returns the custom background color of the given line. If no color is set, returns ``Color(0, 0, 0, 0)``.
  1484. .. rst-class:: classref-item-separator
  1485. ----
  1486. .. _class_TextEdit_method_get_line_column_at_pos:
  1487. .. rst-class:: classref-method
  1488. :ref:`Vector2i<class_Vector2i>` **get_line_column_at_pos**\ (\ position\: :ref:`Vector2i<class_Vector2i>`, allow_out_of_bounds\: :ref:`bool<class_bool>` = true\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_column_at_pos>`
  1489. Returns the line and column at the given position. In the returned vector, ``x`` is the column, ``y`` is the line. If ``allow_out_of_bounds`` is ``false`` and the position is not over the text, both vector values will be set to ``-1``.
  1490. .. rst-class:: classref-item-separator
  1491. ----
  1492. .. _class_TextEdit_method_get_line_count:
  1493. .. rst-class:: classref-method
  1494. :ref:`int<class_int>` **get_line_count**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_count>`
  1495. Returns the number of lines in the text.
  1496. .. rst-class:: classref-item-separator
  1497. ----
  1498. .. _class_TextEdit_method_get_line_gutter_icon:
  1499. .. rst-class:: classref-method
  1500. :ref:`Texture2D<class_Texture2D>` **get_line_gutter_icon**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_gutter_icon>`
  1501. Returns the icon currently in ``gutter`` at ``line``. This only works when the gutter type is :ref:`GUTTER_TYPE_ICON<class_TextEdit_constant_GUTTER_TYPE_ICON>` (see :ref:`set_gutter_type<class_TextEdit_method_set_gutter_type>`).
  1502. .. rst-class:: classref-item-separator
  1503. ----
  1504. .. _class_TextEdit_method_get_line_gutter_item_color:
  1505. .. rst-class:: classref-method
  1506. :ref:`Color<class_Color>` **get_line_gutter_item_color**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_gutter_item_color>`
  1507. Returns the color currently in ``gutter`` at ``line``.
  1508. .. rst-class:: classref-item-separator
  1509. ----
  1510. .. _class_TextEdit_method_get_line_gutter_metadata:
  1511. .. rst-class:: classref-method
  1512. :ref:`Variant<class_Variant>` **get_line_gutter_metadata**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_gutter_metadata>`
  1513. Returns the metadata currently in ``gutter`` at ``line``.
  1514. .. rst-class:: classref-item-separator
  1515. ----
  1516. .. _class_TextEdit_method_get_line_gutter_text:
  1517. .. rst-class:: classref-method
  1518. :ref:`String<class_String>` **get_line_gutter_text**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_gutter_text>`
  1519. Returns the text currently in ``gutter`` at ``line``. This only works when the gutter type is :ref:`GUTTER_TYPE_STRING<class_TextEdit_constant_GUTTER_TYPE_STRING>` (see :ref:`set_gutter_type<class_TextEdit_method_set_gutter_type>`).
  1520. .. rst-class:: classref-item-separator
  1521. ----
  1522. .. _class_TextEdit_method_get_line_height:
  1523. .. rst-class:: classref-method
  1524. :ref:`int<class_int>` **get_line_height**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_height>`
  1525. Returns the maximum value of the line height among all lines.
  1526. \ **Note:** The return value is influenced by :ref:`line_spacing<class_TextEdit_theme_constant_line_spacing>` and :ref:`font_size<class_TextEdit_theme_font_size_font_size>`. And it will not be less than ``1``.
  1527. .. rst-class:: classref-item-separator
  1528. ----
  1529. .. _class_TextEdit_method_get_line_ranges_from_carets:
  1530. .. rst-class:: classref-method
  1531. :ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\] **get_line_ranges_from_carets**\ (\ only_selections\: :ref:`bool<class_bool>` = false, merge_adjacent\: :ref:`bool<class_bool>` = true\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_ranges_from_carets>`
  1532. Returns an :ref:`Array<class_Array>` of line ranges where ``x`` is the first line and ``y`` is the last line. All lines within these ranges will have a caret on them or be part of a selection. Each line will only be part of one line range, even if it has multiple carets on it.
  1533. If a selection's end column (:ref:`get_selection_to_column<class_TextEdit_method_get_selection_to_column>`) is at column ``0``, that line will not be included. If a selection begins on the line after another selection ends and ``merge_adjacent`` is ``true``, or they begin and end on the same line, one line range will include both selections.
  1534. .. rst-class:: classref-item-separator
  1535. ----
  1536. .. _class_TextEdit_method_get_line_width:
  1537. .. rst-class:: classref-method
  1538. :ref:`int<class_int>` **get_line_width**\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = -1\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_width>`
  1539. Returns the width in pixels of the ``wrap_index`` on ``line``.
  1540. .. rst-class:: classref-item-separator
  1541. ----
  1542. .. _class_TextEdit_method_get_line_wrap_count:
  1543. .. rst-class:: classref-method
  1544. :ref:`int<class_int>` **get_line_wrap_count**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_wrap_count>`
  1545. Returns the number of times the given line is wrapped.
  1546. .. rst-class:: classref-item-separator
  1547. ----
  1548. .. _class_TextEdit_method_get_line_wrap_index_at_column:
  1549. .. rst-class:: classref-method
  1550. :ref:`int<class_int>` **get_line_wrap_index_at_column**\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_wrap_index_at_column>`
  1551. Returns the wrap index of the given column on the given line. This ranges from ``0`` to :ref:`get_line_wrap_count<class_TextEdit_method_get_line_wrap_count>`.
  1552. .. rst-class:: classref-item-separator
  1553. ----
  1554. .. _class_TextEdit_method_get_line_wrapped_text:
  1555. .. rst-class:: classref-method
  1556. :ref:`PackedStringArray<class_PackedStringArray>` **get_line_wrapped_text**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_wrapped_text>`
  1557. Returns an array of :ref:`String<class_String>`\ s representing each wrapped index.
  1558. .. rst-class:: classref-item-separator
  1559. ----
  1560. .. _class_TextEdit_method_get_local_mouse_pos:
  1561. .. rst-class:: classref-method
  1562. :ref:`Vector2<class_Vector2>` **get_local_mouse_pos**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_local_mouse_pos>`
  1563. Returns the local mouse position adjusted for the text direction.
  1564. .. rst-class:: classref-item-separator
  1565. ----
  1566. .. _class_TextEdit_method_get_menu:
  1567. .. rst-class:: classref-method
  1568. :ref:`PopupMenu<class_PopupMenu>` **get_menu**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_menu>`
  1569. Returns the :ref:`PopupMenu<class_PopupMenu>` of this **TextEdit**. By default, this menu is displayed when right-clicking on the **TextEdit**.
  1570. You can add custom menu items or remove standard ones. Make sure your IDs don't conflict with the standard ones (see :ref:`MenuItems<enum_TextEdit_MenuItems>`). For example:
  1571. .. tabs::
  1572. .. code-tab:: gdscript
  1573. func _ready():
  1574. var menu = get_menu()
  1575. # Remove all items after "Redo".
  1576. menu.item_count = menu.get_item_index(MENU_REDO) + 1
  1577. # Add custom items.
  1578. menu.add_separator()
  1579. menu.add_item("Insert Date", MENU_MAX + 1)
  1580. # Connect callback.
  1581. menu.id_pressed.connect(_on_item_pressed)
  1582. func _on_item_pressed(id):
  1583. if id == MENU_MAX + 1:
  1584. insert_text_at_caret(Time.get_date_string_from_system())
  1585. .. code-tab:: csharp
  1586. public override void _Ready()
  1587. {
  1588. var menu = GetMenu();
  1589. // Remove all items after "Redo".
  1590. menu.ItemCount = menu.GetItemIndex(TextEdit.MenuItems.Redo) + 1;
  1591. // Add custom items.
  1592. menu.AddSeparator();
  1593. menu.AddItem("Insert Date", TextEdit.MenuItems.Max + 1);
  1594. // Add event handler.
  1595. menu.IdPressed += OnItemPressed;
  1596. }
  1597. public void OnItemPressed(int id)
  1598. {
  1599. if (id == TextEdit.MenuItems.Max + 1)
  1600. {
  1601. InsertTextAtCaret(Time.GetDateStringFromSystem());
  1602. }
  1603. }
  1604. \ **Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`Window.visible<class_Window_property_visible>` property.
  1605. .. rst-class:: classref-item-separator
  1606. ----
  1607. .. _class_TextEdit_method_get_minimap_line_at_pos:
  1608. .. rst-class:: classref-method
  1609. :ref:`int<class_int>` **get_minimap_line_at_pos**\ (\ position\: :ref:`Vector2i<class_Vector2i>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_minimap_line_at_pos>`
  1610. Returns the equivalent minimap line at ``position``.
  1611. .. rst-class:: classref-item-separator
  1612. ----
  1613. .. _class_TextEdit_method_get_minimap_visible_lines:
  1614. .. rst-class:: classref-method
  1615. :ref:`int<class_int>` **get_minimap_visible_lines**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_minimap_visible_lines>`
  1616. Returns the number of lines that may be drawn on the minimap.
  1617. .. rst-class:: classref-item-separator
  1618. ----
  1619. .. _class_TextEdit_method_get_next_visible_line_index_offset_from:
  1620. .. rst-class:: classref-method
  1621. :ref:`Vector2i<class_Vector2i>` **get_next_visible_line_index_offset_from**\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>`, visible_amount\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_next_visible_line_index_offset_from>`
  1622. Similar to :ref:`get_next_visible_line_offset_from<class_TextEdit_method_get_next_visible_line_offset_from>`, but takes into account the line wrap indexes. In the returned vector, ``x`` is the line, ``y`` is the wrap index.
  1623. .. rst-class:: classref-item-separator
  1624. ----
  1625. .. _class_TextEdit_method_get_next_visible_line_offset_from:
  1626. .. rst-class:: classref-method
  1627. :ref:`int<class_int>` **get_next_visible_line_offset_from**\ (\ line\: :ref:`int<class_int>`, visible_amount\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_next_visible_line_offset_from>`
  1628. Returns the count to the next visible line from ``line`` to ``line + visible_amount``. Can also count backwards. For example if a **TextEdit** has 5 lines with lines 2 and 3 hidden, calling this with ``line = 1, visible_amount = 1`` would return 3.
  1629. .. rst-class:: classref-item-separator
  1630. ----
  1631. .. _class_TextEdit_method_get_pos_at_line_column:
  1632. .. rst-class:: classref-method
  1633. :ref:`Vector2i<class_Vector2i>` **get_pos_at_line_column**\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_pos_at_line_column>`
  1634. Returns the local position for the given ``line`` and ``column``. If ``x`` or ``y`` of the returned vector equal ``-1``, the position is outside of the viewable area of the control.
  1635. \ **Note:** The Y position corresponds to the bottom side of the line. Use :ref:`get_rect_at_line_column<class_TextEdit_method_get_rect_at_line_column>` to get the top side position.
  1636. .. rst-class:: classref-item-separator
  1637. ----
  1638. .. _class_TextEdit_method_get_rect_at_line_column:
  1639. .. rst-class:: classref-method
  1640. :ref:`Rect2i<class_Rect2i>` **get_rect_at_line_column**\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_rect_at_line_column>`
  1641. Returns the local position and size for the grapheme at the given ``line`` and ``column``. If ``x`` or ``y`` position of the returned rect equal ``-1``, the position is outside of the viewable area of the control.
  1642. \ **Note:** The Y position of the returned rect corresponds to the top side of the line, unlike :ref:`get_pos_at_line_column<class_TextEdit_method_get_pos_at_line_column>` which returns the bottom side.
  1643. .. rst-class:: classref-item-separator
  1644. ----
  1645. .. _class_TextEdit_method_get_saved_version:
  1646. .. rst-class:: classref-method
  1647. :ref:`int<class_int>` **get_saved_version**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_saved_version>`
  1648. Returns the last tagged saved version from :ref:`tag_saved_version<class_TextEdit_method_tag_saved_version>`.
  1649. .. rst-class:: classref-item-separator
  1650. ----
  1651. .. _class_TextEdit_method_get_scroll_pos_for_line:
  1652. .. rst-class:: classref-method
  1653. :ref:`float<class_float>` **get_scroll_pos_for_line**\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_scroll_pos_for_line>`
  1654. Returns the scroll position for ``wrap_index`` of ``line``.
  1655. .. rst-class:: classref-item-separator
  1656. ----
  1657. .. _class_TextEdit_method_get_selected_text:
  1658. .. rst-class:: classref-method
  1659. :ref:`String<class_String>` **get_selected_text**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_get_selected_text>`
  1660. Returns the text inside the selection of a caret, or all the carets if ``caret_index`` is its default value ``-1``.
  1661. .. rst-class:: classref-item-separator
  1662. ----
  1663. .. _class_TextEdit_method_get_selection_at_line_column:
  1664. .. rst-class:: classref-method
  1665. :ref:`int<class_int>` **get_selection_at_line_column**\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`, include_edges\: :ref:`bool<class_bool>` = true, only_selections\: :ref:`bool<class_bool>` = true\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_at_line_column>`
  1666. Returns the caret index of the selection at the given ``line`` and ``column``, or ``-1`` if there is none.
  1667. If ``include_edges`` is ``false``, the position must be inside the selection and not at either end. If ``only_selections`` is ``false``, carets without a selection will also be considered.
  1668. .. rst-class:: classref-item-separator
  1669. ----
  1670. .. _class_TextEdit_method_get_selection_column:
  1671. .. rst-class:: classref-method
  1672. :ref:`int<class_int>` **get_selection_column**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_column>`
  1673. **Deprecated:** Use :ref:`get_selection_origin_column<class_TextEdit_method_get_selection_origin_column>` instead.
  1674. Returns the original start column of the selection.
  1675. .. rst-class:: classref-item-separator
  1676. ----
  1677. .. _class_TextEdit_method_get_selection_from_column:
  1678. .. rst-class:: classref-method
  1679. :ref:`int<class_int>` **get_selection_from_column**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_from_column>`
  1680. Returns the selection begin column. Returns the caret column if there is no selection.
  1681. .. rst-class:: classref-item-separator
  1682. ----
  1683. .. _class_TextEdit_method_get_selection_from_line:
  1684. .. rst-class:: classref-method
  1685. :ref:`int<class_int>` **get_selection_from_line**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_from_line>`
  1686. Returns the selection begin line. Returns the caret line if there is no selection.
  1687. .. rst-class:: classref-item-separator
  1688. ----
  1689. .. _class_TextEdit_method_get_selection_line:
  1690. .. rst-class:: classref-method
  1691. :ref:`int<class_int>` **get_selection_line**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_line>`
  1692. **Deprecated:** Use :ref:`get_selection_origin_line<class_TextEdit_method_get_selection_origin_line>` instead.
  1693. Returns the original start line of the selection.
  1694. .. rst-class:: classref-item-separator
  1695. ----
  1696. .. _class_TextEdit_method_get_selection_mode:
  1697. .. rst-class:: classref-method
  1698. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **get_selection_mode**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_mode>`
  1699. Returns the current selection mode.
  1700. .. rst-class:: classref-item-separator
  1701. ----
  1702. .. _class_TextEdit_method_get_selection_origin_column:
  1703. .. rst-class:: classref-method
  1704. :ref:`int<class_int>` **get_selection_origin_column**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_origin_column>`
  1705. Returns the origin column of the selection. This is the opposite end from the caret.
  1706. .. rst-class:: classref-item-separator
  1707. ----
  1708. .. _class_TextEdit_method_get_selection_origin_line:
  1709. .. rst-class:: classref-method
  1710. :ref:`int<class_int>` **get_selection_origin_line**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_origin_line>`
  1711. Returns the origin line of the selection. This is the opposite end from the caret.
  1712. .. rst-class:: classref-item-separator
  1713. ----
  1714. .. _class_TextEdit_method_get_selection_to_column:
  1715. .. rst-class:: classref-method
  1716. :ref:`int<class_int>` **get_selection_to_column**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_to_column>`
  1717. Returns the selection end column. Returns the caret column if there is no selection.
  1718. .. rst-class:: classref-item-separator
  1719. ----
  1720. .. _class_TextEdit_method_get_selection_to_line:
  1721. .. rst-class:: classref-method
  1722. :ref:`int<class_int>` **get_selection_to_line**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_to_line>`
  1723. Returns the selection end line. Returns the caret line if there is no selection.
  1724. .. rst-class:: classref-item-separator
  1725. ----
  1726. .. _class_TextEdit_method_get_sorted_carets:
  1727. .. rst-class:: classref-method
  1728. :ref:`PackedInt32Array<class_PackedInt32Array>` **get_sorted_carets**\ (\ include_ignored_carets\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_TextEdit_method_get_sorted_carets>`
  1729. Returns the carets sorted by selection beginning from lowest line and column to highest (from top to bottom of text).
  1730. If ``include_ignored_carets`` is ``false``, carets from :ref:`multicaret_edit_ignore_caret<class_TextEdit_method_multicaret_edit_ignore_caret>` will be ignored.
  1731. .. rst-class:: classref-item-separator
  1732. ----
  1733. .. _class_TextEdit_method_get_tab_size:
  1734. .. rst-class:: classref-method
  1735. :ref:`int<class_int>` **get_tab_size**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_tab_size>`
  1736. Returns the **TextEdit**'s' tab size.
  1737. .. rst-class:: classref-item-separator
  1738. ----
  1739. .. _class_TextEdit_method_get_total_gutter_width:
  1740. .. rst-class:: classref-method
  1741. :ref:`int<class_int>` **get_total_gutter_width**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_total_gutter_width>`
  1742. Returns the total width of all gutters and internal padding.
  1743. .. rst-class:: classref-item-separator
  1744. ----
  1745. .. _class_TextEdit_method_get_total_visible_line_count:
  1746. .. rst-class:: classref-method
  1747. :ref:`int<class_int>` **get_total_visible_line_count**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_total_visible_line_count>`
  1748. Returns the total number of lines in the text. This includes wrapped lines and excludes folded lines. If :ref:`wrap_mode<class_TextEdit_property_wrap_mode>` is set to :ref:`LINE_WRAPPING_NONE<class_TextEdit_constant_LINE_WRAPPING_NONE>` and no lines are folded (see :ref:`CodeEdit.is_line_folded<class_CodeEdit_method_is_line_folded>`) then this is equivalent to :ref:`get_line_count<class_TextEdit_method_get_line_count>`. See :ref:`get_visible_line_count_in_range<class_TextEdit_method_get_visible_line_count_in_range>` for a limited range of lines.
  1749. .. rst-class:: classref-item-separator
  1750. ----
  1751. .. _class_TextEdit_method_get_v_scroll_bar:
  1752. .. rst-class:: classref-method
  1753. :ref:`VScrollBar<class_VScrollBar>` **get_v_scroll_bar**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_v_scroll_bar>`
  1754. Returns the :ref:`VScrollBar<class_VScrollBar>` of the **TextEdit**.
  1755. .. rst-class:: classref-item-separator
  1756. ----
  1757. .. _class_TextEdit_method_get_version:
  1758. .. rst-class:: classref-method
  1759. :ref:`int<class_int>` **get_version**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_version>`
  1760. Returns the current version of the **TextEdit**. The version is a count of recorded operations by the undo/redo history.
  1761. .. rst-class:: classref-item-separator
  1762. ----
  1763. .. _class_TextEdit_method_get_visible_line_count:
  1764. .. rst-class:: classref-method
  1765. :ref:`int<class_int>` **get_visible_line_count**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_visible_line_count>`
  1766. Returns the number of lines that can visually fit, rounded down, based on this control's height.
  1767. .. rst-class:: classref-item-separator
  1768. ----
  1769. .. _class_TextEdit_method_get_visible_line_count_in_range:
  1770. .. rst-class:: classref-method
  1771. :ref:`int<class_int>` **get_visible_line_count_in_range**\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_visible_line_count_in_range>`
  1772. Returns the total number of lines between ``from_line`` and ``to_line`` (inclusive) in the text. This includes wrapped lines and excludes folded lines. If the range covers all lines it is equivalent to :ref:`get_total_visible_line_count<class_TextEdit_method_get_total_visible_line_count>`.
  1773. .. rst-class:: classref-item-separator
  1774. ----
  1775. .. _class_TextEdit_method_get_word_at_pos:
  1776. .. rst-class:: classref-method
  1777. :ref:`String<class_String>` **get_word_at_pos**\ (\ position\: :ref:`Vector2<class_Vector2>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_word_at_pos>`
  1778. Returns the word at ``position``.
  1779. .. rst-class:: classref-item-separator
  1780. ----
  1781. .. _class_TextEdit_method_get_word_under_caret:
  1782. .. rst-class:: classref-method
  1783. :ref:`String<class_String>` **get_word_under_caret**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |const| :ref:`🔗<class_TextEdit_method_get_word_under_caret>`
  1784. Returns a :ref:`String<class_String>` text with the word under the caret's location.
  1785. .. rst-class:: classref-item-separator
  1786. ----
  1787. .. _class_TextEdit_method_has_ime_text:
  1788. .. rst-class:: classref-method
  1789. :ref:`bool<class_bool>` **has_ime_text**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_has_ime_text>`
  1790. Returns ``true`` if the user has text in the `Input Method Editor <https://en.wikipedia.org/wiki/Input_method>`__ (IME).
  1791. .. rst-class:: classref-item-separator
  1792. ----
  1793. .. _class_TextEdit_method_has_redo:
  1794. .. rst-class:: classref-method
  1795. :ref:`bool<class_bool>` **has_redo**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_has_redo>`
  1796. Returns ``true`` if a "redo" action is available.
  1797. .. rst-class:: classref-item-separator
  1798. ----
  1799. .. _class_TextEdit_method_has_selection:
  1800. .. rst-class:: classref-method
  1801. :ref:`bool<class_bool>` **has_selection**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |const| :ref:`🔗<class_TextEdit_method_has_selection>`
  1802. Returns ``true`` if the user has selected text.
  1803. .. rst-class:: classref-item-separator
  1804. ----
  1805. .. _class_TextEdit_method_has_undo:
  1806. .. rst-class:: classref-method
  1807. :ref:`bool<class_bool>` **has_undo**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_has_undo>`
  1808. Returns ``true`` if an "undo" action is available.
  1809. .. rst-class:: classref-item-separator
  1810. ----
  1811. .. _class_TextEdit_method_insert_line_at:
  1812. .. rst-class:: classref-method
  1813. |void| **insert_line_at**\ (\ line\: :ref:`int<class_int>`, text\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TextEdit_method_insert_line_at>`
  1814. Inserts a new line with ``text`` at ``line``.
  1815. .. rst-class:: classref-item-separator
  1816. ----
  1817. .. _class_TextEdit_method_insert_text:
  1818. .. rst-class:: classref-method
  1819. |void| **insert_text**\ (\ text\: :ref:`String<class_String>`, line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`, before_selection_begin\: :ref:`bool<class_bool>` = true, before_selection_end\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_TextEdit_method_insert_text>`
  1820. Inserts the ``text`` at ``line`` and ``column``.
  1821. If ``before_selection_begin`` is ``true``, carets and selections that begin at ``line`` and ``column`` will moved to the end of the inserted text, along with all carets after it.
  1822. If ``before_selection_end`` is ``true``, selections that end at ``line`` and ``column`` will be extended to the end of the inserted text. These parameters can be used to insert text inside of or outside of selections.
  1823. .. rst-class:: classref-item-separator
  1824. ----
  1825. .. _class_TextEdit_method_insert_text_at_caret:
  1826. .. rst-class:: classref-method
  1827. |void| **insert_text_at_caret**\ (\ text\: :ref:`String<class_String>`, caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_insert_text_at_caret>`
  1828. Insert the specified text at the caret position.
  1829. .. rst-class:: classref-item-separator
  1830. ----
  1831. .. _class_TextEdit_method_is_caret_after_selection_origin:
  1832. .. rst-class:: classref-method
  1833. :ref:`bool<class_bool>` **is_caret_after_selection_origin**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_is_caret_after_selection_origin>`
  1834. Returns ``true`` if the caret of the selection is after the selection origin. This can be used to determine the direction of the selection.
  1835. .. rst-class:: classref-item-separator
  1836. ----
  1837. .. _class_TextEdit_method_is_caret_visible:
  1838. .. rst-class:: classref-method
  1839. :ref:`bool<class_bool>` **is_caret_visible**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_is_caret_visible>`
  1840. Returns ``true`` if the caret is visible, ``false`` otherwise. A caret will be considered hidden if it is outside the scrollable area when scrolling is enabled.
  1841. \ **Note:** :ref:`is_caret_visible<class_TextEdit_method_is_caret_visible>` does not account for a caret being off-screen if it is still within the scrollable area. It will return ``true`` even if the caret is off-screen as long as it meets **TextEdit**'s own conditions for being visible. This includes uses of :ref:`scroll_fit_content_width<class_TextEdit_property_scroll_fit_content_width>` and :ref:`scroll_fit_content_height<class_TextEdit_property_scroll_fit_content_height>` that cause the **TextEdit** to expand beyond the viewport's bounds.
  1842. .. rst-class:: classref-item-separator
  1843. ----
  1844. .. _class_TextEdit_method_is_dragging_cursor:
  1845. .. rst-class:: classref-method
  1846. :ref:`bool<class_bool>` **is_dragging_cursor**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_is_dragging_cursor>`
  1847. Returns ``true`` if the user is dragging their mouse for scrolling, selecting, or text dragging.
  1848. .. rst-class:: classref-item-separator
  1849. ----
  1850. .. _class_TextEdit_method_is_gutter_clickable:
  1851. .. rst-class:: classref-method
  1852. :ref:`bool<class_bool>` **is_gutter_clickable**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_is_gutter_clickable>`
  1853. Returns ``true`` if the gutter at the given index is clickable. See :ref:`set_gutter_clickable<class_TextEdit_method_set_gutter_clickable>`.
  1854. .. rst-class:: classref-item-separator
  1855. ----
  1856. .. _class_TextEdit_method_is_gutter_drawn:
  1857. .. rst-class:: classref-method
  1858. :ref:`bool<class_bool>` **is_gutter_drawn**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_is_gutter_drawn>`
  1859. Returns ``true`` if the gutter at the given index is currently drawn. See :ref:`set_gutter_draw<class_TextEdit_method_set_gutter_draw>`.
  1860. .. rst-class:: classref-item-separator
  1861. ----
  1862. .. _class_TextEdit_method_is_gutter_overwritable:
  1863. .. rst-class:: classref-method
  1864. :ref:`bool<class_bool>` **is_gutter_overwritable**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_is_gutter_overwritable>`
  1865. Returns ``true`` if the gutter at the given index is overwritable. See :ref:`set_gutter_overwritable<class_TextEdit_method_set_gutter_overwritable>`.
  1866. .. rst-class:: classref-item-separator
  1867. ----
  1868. .. _class_TextEdit_method_is_in_mulitcaret_edit:
  1869. .. rst-class:: classref-method
  1870. :ref:`bool<class_bool>` **is_in_mulitcaret_edit**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_is_in_mulitcaret_edit>`
  1871. Returns ``true`` if a :ref:`begin_multicaret_edit<class_TextEdit_method_begin_multicaret_edit>` has been called and :ref:`end_multicaret_edit<class_TextEdit_method_end_multicaret_edit>` has not yet been called.
  1872. .. rst-class:: classref-item-separator
  1873. ----
  1874. .. _class_TextEdit_method_is_line_gutter_clickable:
  1875. .. rst-class:: classref-method
  1876. :ref:`bool<class_bool>` **is_line_gutter_clickable**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_is_line_gutter_clickable>`
  1877. Returns ``true`` if the gutter at the given index on the given line is clickable. See :ref:`set_line_gutter_clickable<class_TextEdit_method_set_line_gutter_clickable>`.
  1878. .. rst-class:: classref-item-separator
  1879. ----
  1880. .. _class_TextEdit_method_is_line_wrapped:
  1881. .. rst-class:: classref-method
  1882. :ref:`bool<class_bool>` **is_line_wrapped**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_is_line_wrapped>`
  1883. Returns if the given line is wrapped.
  1884. .. rst-class:: classref-item-separator
  1885. ----
  1886. .. _class_TextEdit_method_is_menu_visible:
  1887. .. rst-class:: classref-method
  1888. :ref:`bool<class_bool>` **is_menu_visible**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_is_menu_visible>`
  1889. Returns ``true`` if the menu is visible. Use this instead of ``get_menu().visible`` to improve performance (so the creation of the menu is avoided). See :ref:`get_menu<class_TextEdit_method_get_menu>`.
  1890. .. rst-class:: classref-item-separator
  1891. ----
  1892. .. _class_TextEdit_method_is_mouse_over_selection:
  1893. .. rst-class:: classref-method
  1894. :ref:`bool<class_bool>` **is_mouse_over_selection**\ (\ edges\: :ref:`bool<class_bool>`, caret_index\: :ref:`int<class_int>` = -1\ ) |const| :ref:`🔗<class_TextEdit_method_is_mouse_over_selection>`
  1895. Returns ``true`` if the mouse is over a selection. If ``edges`` is ``true``, the edges are considered part of the selection.
  1896. .. rst-class:: classref-item-separator
  1897. ----
  1898. .. _class_TextEdit_method_is_overtype_mode_enabled:
  1899. .. rst-class:: classref-method
  1900. :ref:`bool<class_bool>` **is_overtype_mode_enabled**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_is_overtype_mode_enabled>`
  1901. Returns ``true`` if overtype mode is enabled. See :ref:`set_overtype_mode_enabled<class_TextEdit_method_set_overtype_mode_enabled>`.
  1902. .. rst-class:: classref-item-separator
  1903. ----
  1904. .. _class_TextEdit_method_menu_option:
  1905. .. rst-class:: classref-method
  1906. |void| **menu_option**\ (\ option\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_menu_option>`
  1907. Executes a given action as defined in the :ref:`MenuItems<enum_TextEdit_MenuItems>` enum.
  1908. .. rst-class:: classref-item-separator
  1909. ----
  1910. .. _class_TextEdit_method_merge_gutters:
  1911. .. rst-class:: classref-method
  1912. |void| **merge_gutters**\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_merge_gutters>`
  1913. Merge the gutters from ``from_line`` into ``to_line``. Only overwritable gutters will be copied. See :ref:`set_gutter_overwritable<class_TextEdit_method_set_gutter_overwritable>`.
  1914. .. rst-class:: classref-item-separator
  1915. ----
  1916. .. _class_TextEdit_method_merge_overlapping_carets:
  1917. .. rst-class:: classref-method
  1918. |void| **merge_overlapping_carets**\ (\ ) :ref:`🔗<class_TextEdit_method_merge_overlapping_carets>`
  1919. Merges any overlapping carets. Will favor the newest caret, or the caret with a selection.
  1920. If :ref:`is_in_mulitcaret_edit<class_TextEdit_method_is_in_mulitcaret_edit>` is ``true``, the merge will be queued to happen at the end of the multicaret edit. See :ref:`begin_multicaret_edit<class_TextEdit_method_begin_multicaret_edit>` and :ref:`end_multicaret_edit<class_TextEdit_method_end_multicaret_edit>`.
  1921. \ **Note:** This is not called when a caret changes position but after certain actions, so it is possible to get into a state where carets overlap.
  1922. .. rst-class:: classref-item-separator
  1923. ----
  1924. .. _class_TextEdit_method_multicaret_edit_ignore_caret:
  1925. .. rst-class:: classref-method
  1926. :ref:`bool<class_bool>` **multicaret_edit_ignore_caret**\ (\ caret_index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_multicaret_edit_ignore_caret>`
  1927. Returns ``true`` if the given ``caret_index`` should be ignored as part of a multicaret edit. See :ref:`begin_multicaret_edit<class_TextEdit_method_begin_multicaret_edit>` and :ref:`end_multicaret_edit<class_TextEdit_method_end_multicaret_edit>`. Carets that should be ignored are ones that were part of removed text and will likely be merged at the end of the edit, or carets that were added during the edit.
  1928. It is recommended to ``continue`` within a loop iterating on multiple carets if a caret should be ignored.
  1929. .. rst-class:: classref-item-separator
  1930. ----
  1931. .. _class_TextEdit_method_paste:
  1932. .. rst-class:: classref-method
  1933. |void| **paste**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_paste>`
  1934. Paste at the current location. Can be overridden with :ref:`_paste<class_TextEdit_private_method__paste>`.
  1935. .. rst-class:: classref-item-separator
  1936. ----
  1937. .. _class_TextEdit_method_paste_primary_clipboard:
  1938. .. rst-class:: classref-method
  1939. |void| **paste_primary_clipboard**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_paste_primary_clipboard>`
  1940. Pastes the primary clipboard.
  1941. .. rst-class:: classref-item-separator
  1942. ----
  1943. .. _class_TextEdit_method_redo:
  1944. .. rst-class:: classref-method
  1945. |void| **redo**\ (\ ) :ref:`🔗<class_TextEdit_method_redo>`
  1946. Perform redo operation.
  1947. .. rst-class:: classref-item-separator
  1948. ----
  1949. .. _class_TextEdit_method_remove_caret:
  1950. .. rst-class:: classref-method
  1951. |void| **remove_caret**\ (\ caret\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_remove_caret>`
  1952. Removes the given caret index.
  1953. \ **Note:** This can result in adjustment of all other caret indices.
  1954. .. rst-class:: classref-item-separator
  1955. ----
  1956. .. _class_TextEdit_method_remove_gutter:
  1957. .. rst-class:: classref-method
  1958. |void| **remove_gutter**\ (\ gutter\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_remove_gutter>`
  1959. Removes the gutter at the given index.
  1960. .. rst-class:: classref-item-separator
  1961. ----
  1962. .. _class_TextEdit_method_remove_line_at:
  1963. .. rst-class:: classref-method
  1964. |void| **remove_line_at**\ (\ line\: :ref:`int<class_int>`, move_carets_down\: :ref:`bool<class_bool>` = true\ ) :ref:`🔗<class_TextEdit_method_remove_line_at>`
  1965. Removes the line of text at ``line``. Carets on this line will attempt to match their previous visual x position.
  1966. If ``move_carets_down`` is ``true`` carets will move to the next line down, otherwise carets will move up.
  1967. .. rst-class:: classref-item-separator
  1968. ----
  1969. .. _class_TextEdit_method_remove_secondary_carets:
  1970. .. rst-class:: classref-method
  1971. |void| **remove_secondary_carets**\ (\ ) :ref:`🔗<class_TextEdit_method_remove_secondary_carets>`
  1972. Removes all additional carets.
  1973. .. rst-class:: classref-item-separator
  1974. ----
  1975. .. _class_TextEdit_method_remove_text:
  1976. .. rst-class:: classref-method
  1977. |void| **remove_text**\ (\ from_line\: :ref:`int<class_int>`, from_column\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`, to_column\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_remove_text>`
  1978. Removes text between the given positions.
  1979. .. rst-class:: classref-item-separator
  1980. ----
  1981. .. _class_TextEdit_method_search:
  1982. .. rst-class:: classref-method
  1983. :ref:`Vector2i<class_Vector2i>` **search**\ (\ text\: :ref:`String<class_String>`, flags\: :ref:`int<class_int>`, from_line\: :ref:`int<class_int>`, from_column\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_search>`
  1984. Perform a search inside the text. Search flags can be specified in the :ref:`SearchFlags<enum_TextEdit_SearchFlags>` enum.
  1985. In the returned vector, ``x`` is the column, ``y`` is the line. If no results are found, both are equal to ``-1``.
  1986. .. tabs::
  1987. .. code-tab:: gdscript
  1988. var result = search("print", SEARCH_WHOLE_WORDS, 0, 0)
  1989. if result.x != -1:
  1990. # Result found.
  1991. var line_number = result.y
  1992. var column_number = result.x
  1993. .. code-tab:: csharp
  1994. Vector2I result = Search("print", (uint)TextEdit.SearchFlags.WholeWords, 0, 0);
  1995. if (result.X != -1)
  1996. {
  1997. // Result found.
  1998. int lineNumber = result.Y;
  1999. int columnNumber = result.X;
  2000. }
  2001. .. rst-class:: classref-item-separator
  2002. ----
  2003. .. _class_TextEdit_method_select:
  2004. .. rst-class:: classref-method
  2005. |void| **select**\ (\ origin_line\: :ref:`int<class_int>`, origin_column\: :ref:`int<class_int>`, caret_line\: :ref:`int<class_int>`, caret_column\: :ref:`int<class_int>`, caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_select>`
  2006. Selects text from ``origin_line`` and ``origin_column`` to ``caret_line`` and ``caret_column`` for the given ``caret_index``. This moves the selection origin and the caret. If the positions are the same, the selection will be deselected.
  2007. If :ref:`selecting_enabled<class_TextEdit_property_selecting_enabled>` is ``false``, no selection will occur.
  2008. \ **Note:** If supporting multiple carets this will not check for any overlap. See :ref:`merge_overlapping_carets<class_TextEdit_method_merge_overlapping_carets>`.
  2009. .. rst-class:: classref-item-separator
  2010. ----
  2011. .. _class_TextEdit_method_select_all:
  2012. .. rst-class:: classref-method
  2013. |void| **select_all**\ (\ ) :ref:`🔗<class_TextEdit_method_select_all>`
  2014. Select all the text.
  2015. If :ref:`selecting_enabled<class_TextEdit_property_selecting_enabled>` is ``false``, no selection will occur.
  2016. .. rst-class:: classref-item-separator
  2017. ----
  2018. .. _class_TextEdit_method_select_word_under_caret:
  2019. .. rst-class:: classref-method
  2020. |void| **select_word_under_caret**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_select_word_under_caret>`
  2021. Selects the word under the caret.
  2022. .. rst-class:: classref-item-separator
  2023. ----
  2024. .. _class_TextEdit_method_set_caret_column:
  2025. .. rst-class:: classref-method
  2026. |void| **set_caret_column**\ (\ column\: :ref:`int<class_int>`, adjust_viewport\: :ref:`bool<class_bool>` = true, caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_set_caret_column>`
  2027. Moves the caret to the specified ``column`` index.
  2028. If ``adjust_viewport`` is ``true``, the viewport will center at the caret position after the move occurs.
  2029. \ **Note:** If supporting multiple carets this will not check for any overlap. See :ref:`merge_overlapping_carets<class_TextEdit_method_merge_overlapping_carets>`.
  2030. .. rst-class:: classref-item-separator
  2031. ----
  2032. .. _class_TextEdit_method_set_caret_line:
  2033. .. rst-class:: classref-method
  2034. |void| **set_caret_line**\ (\ line\: :ref:`int<class_int>`, adjust_viewport\: :ref:`bool<class_bool>` = true, can_be_hidden\: :ref:`bool<class_bool>` = true, wrap_index\: :ref:`int<class_int>` = 0, caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_set_caret_line>`
  2035. Moves the caret to the specified ``line`` index. The caret column will be moved to the same visual position it was at the last time :ref:`set_caret_column<class_TextEdit_method_set_caret_column>` was called, or clamped to the end of the line.
  2036. If ``adjust_viewport`` is ``true``, the viewport will center at the caret position after the move occurs.
  2037. If ``can_be_hidden`` is ``true``, the specified ``line`` can be hidden.
  2038. If ``wrap_index`` is ``-1``, the caret column will be clamped to the ``line``'s length. If ``wrap_index`` is greater than ``-1``, the column will be moved to attempt to match the visual x position on the line's ``wrap_index`` to the position from the last time :ref:`set_caret_column<class_TextEdit_method_set_caret_column>` was called.
  2039. \ **Note:** If supporting multiple carets this will not check for any overlap. See :ref:`merge_overlapping_carets<class_TextEdit_method_merge_overlapping_carets>`.
  2040. .. rst-class:: classref-item-separator
  2041. ----
  2042. .. _class_TextEdit_method_set_gutter_clickable:
  2043. .. rst-class:: classref-method
  2044. |void| **set_gutter_clickable**\ (\ gutter\: :ref:`int<class_int>`, clickable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_clickable>`
  2045. If ``true``, the mouse cursor will change to a pointing hand (:ref:`Control.CURSOR_POINTING_HAND<class_Control_constant_CURSOR_POINTING_HAND>`) when hovering over the gutter at the given index. See :ref:`is_gutter_clickable<class_TextEdit_method_is_gutter_clickable>` and :ref:`set_line_gutter_clickable<class_TextEdit_method_set_line_gutter_clickable>`.
  2046. .. rst-class:: classref-item-separator
  2047. ----
  2048. .. _class_TextEdit_method_set_gutter_custom_draw:
  2049. .. rst-class:: classref-method
  2050. |void| **set_gutter_custom_draw**\ (\ column\: :ref:`int<class_int>`, draw_callback\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_custom_draw>`
  2051. Set a custom draw callback for the gutter at the given index. ``draw_callback`` must take the following arguments: A line index :ref:`int<class_int>`, a gutter index :ref:`int<class_int>`, and an area :ref:`Rect2<class_Rect2>`. This callback only works when the gutter type is :ref:`GUTTER_TYPE_CUSTOM<class_TextEdit_constant_GUTTER_TYPE_CUSTOM>` (see :ref:`set_gutter_type<class_TextEdit_method_set_gutter_type>`).
  2052. .. rst-class:: classref-item-separator
  2053. ----
  2054. .. _class_TextEdit_method_set_gutter_draw:
  2055. .. rst-class:: classref-method
  2056. |void| **set_gutter_draw**\ (\ gutter\: :ref:`int<class_int>`, draw\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_draw>`
  2057. If ``true``, the gutter at the given index is drawn. The gutter type (:ref:`set_gutter_type<class_TextEdit_method_set_gutter_type>`) determines how it is drawn. See :ref:`is_gutter_drawn<class_TextEdit_method_is_gutter_drawn>`.
  2058. .. rst-class:: classref-item-separator
  2059. ----
  2060. .. _class_TextEdit_method_set_gutter_name:
  2061. .. rst-class:: classref-method
  2062. |void| **set_gutter_name**\ (\ gutter\: :ref:`int<class_int>`, name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_name>`
  2063. Sets the name of the gutter at the given index.
  2064. .. rst-class:: classref-item-separator
  2065. ----
  2066. .. _class_TextEdit_method_set_gutter_overwritable:
  2067. .. rst-class:: classref-method
  2068. |void| **set_gutter_overwritable**\ (\ gutter\: :ref:`int<class_int>`, overwritable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_overwritable>`
  2069. If ``true``, the line data of the gutter at the given index can be overridden when using :ref:`merge_gutters<class_TextEdit_method_merge_gutters>`. See :ref:`is_gutter_overwritable<class_TextEdit_method_is_gutter_overwritable>`.
  2070. .. rst-class:: classref-item-separator
  2071. ----
  2072. .. _class_TextEdit_method_set_gutter_type:
  2073. .. rst-class:: classref-method
  2074. |void| **set_gutter_type**\ (\ gutter\: :ref:`int<class_int>`, type\: :ref:`GutterType<enum_TextEdit_GutterType>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_type>`
  2075. Sets the type of gutter at the given index. Gutters can contain icons, text, or custom visuals. See :ref:`GutterType<enum_TextEdit_GutterType>` for options.
  2076. .. rst-class:: classref-item-separator
  2077. ----
  2078. .. _class_TextEdit_method_set_gutter_width:
  2079. .. rst-class:: classref-method
  2080. |void| **set_gutter_width**\ (\ gutter\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_width>`
  2081. Set the width of the gutter at the given index.
  2082. .. rst-class:: classref-item-separator
  2083. ----
  2084. .. _class_TextEdit_method_set_line:
  2085. .. rst-class:: classref-method
  2086. |void| **set_line**\ (\ line\: :ref:`int<class_int>`, new_text\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TextEdit_method_set_line>`
  2087. Sets the text for a specific ``line``.
  2088. Carets on the line will attempt to keep their visual x position.
  2089. .. rst-class:: classref-item-separator
  2090. ----
  2091. .. _class_TextEdit_method_set_line_as_center_visible:
  2092. .. rst-class:: classref-method
  2093. |void| **set_line_as_center_visible**\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_set_line_as_center_visible>`
  2094. Positions the ``wrap_index`` of ``line`` at the center of the viewport.
  2095. .. rst-class:: classref-item-separator
  2096. ----
  2097. .. _class_TextEdit_method_set_line_as_first_visible:
  2098. .. rst-class:: classref-method
  2099. |void| **set_line_as_first_visible**\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_set_line_as_first_visible>`
  2100. Positions the ``wrap_index`` of ``line`` at the top of the viewport.
  2101. .. rst-class:: classref-item-separator
  2102. ----
  2103. .. _class_TextEdit_method_set_line_as_last_visible:
  2104. .. rst-class:: classref-method
  2105. |void| **set_line_as_last_visible**\ (\ line\: :ref:`int<class_int>`, wrap_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_set_line_as_last_visible>`
  2106. Positions the ``wrap_index`` of ``line`` at the bottom of the viewport.
  2107. .. rst-class:: classref-item-separator
  2108. ----
  2109. .. _class_TextEdit_method_set_line_background_color:
  2110. .. rst-class:: classref-method
  2111. |void| **set_line_background_color**\ (\ line\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_TextEdit_method_set_line_background_color>`
  2112. Sets the custom background color of the given line. If transparent, this color is applied on top of the default background color (See :ref:`background_color<class_TextEdit_theme_color_background_color>`). If set to ``Color(0, 0, 0, 0)``, no additional color is applied.
  2113. .. rst-class:: classref-item-separator
  2114. ----
  2115. .. _class_TextEdit_method_set_line_gutter_clickable:
  2116. .. rst-class:: classref-method
  2117. |void| **set_line_gutter_clickable**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, clickable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_set_line_gutter_clickable>`
  2118. If ``clickable`` is ``true``, makes the ``gutter`` on the given ``line`` clickable. This is like :ref:`set_gutter_clickable<class_TextEdit_method_set_gutter_clickable>`, but for a single line. If :ref:`is_gutter_clickable<class_TextEdit_method_is_gutter_clickable>` is ``true``, this will not have any effect. See :ref:`is_line_gutter_clickable<class_TextEdit_method_is_line_gutter_clickable>` and :ref:`gutter_clicked<class_TextEdit_signal_gutter_clicked>`.
  2119. .. rst-class:: classref-item-separator
  2120. ----
  2121. .. _class_TextEdit_method_set_line_gutter_icon:
  2122. .. rst-class:: classref-method
  2123. |void| **set_line_gutter_icon**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, icon\: :ref:`Texture2D<class_Texture2D>`\ ) :ref:`🔗<class_TextEdit_method_set_line_gutter_icon>`
  2124. Sets the icon for ``gutter`` on ``line`` to ``icon``. This only works when the gutter type is :ref:`GUTTER_TYPE_ICON<class_TextEdit_constant_GUTTER_TYPE_ICON>` (see :ref:`set_gutter_type<class_TextEdit_method_set_gutter_type>`).
  2125. .. rst-class:: classref-item-separator
  2126. ----
  2127. .. _class_TextEdit_method_set_line_gutter_item_color:
  2128. .. rst-class:: classref-method
  2129. |void| **set_line_gutter_item_color**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_TextEdit_method_set_line_gutter_item_color>`
  2130. Sets the color for ``gutter`` on ``line`` to ``color``.
  2131. .. rst-class:: classref-item-separator
  2132. ----
  2133. .. _class_TextEdit_method_set_line_gutter_metadata:
  2134. .. rst-class:: classref-method
  2135. |void| **set_line_gutter_metadata**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, metadata\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_TextEdit_method_set_line_gutter_metadata>`
  2136. Sets the metadata for ``gutter`` on ``line`` to ``metadata``.
  2137. .. rst-class:: classref-item-separator
  2138. ----
  2139. .. _class_TextEdit_method_set_line_gutter_text:
  2140. .. rst-class:: classref-method
  2141. |void| **set_line_gutter_text**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`, text\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TextEdit_method_set_line_gutter_text>`
  2142. Sets the text for ``gutter`` on ``line`` to ``text``. This only works when the gutter type is :ref:`GUTTER_TYPE_STRING<class_TextEdit_constant_GUTTER_TYPE_STRING>` (see :ref:`set_gutter_type<class_TextEdit_method_set_gutter_type>`).
  2143. .. rst-class:: classref-item-separator
  2144. ----
  2145. .. _class_TextEdit_method_set_overtype_mode_enabled:
  2146. .. rst-class:: classref-method
  2147. |void| **set_overtype_mode_enabled**\ (\ enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_set_overtype_mode_enabled>`
  2148. If ``true``, enables overtype mode. In this mode, typing overrides existing text instead of inserting text. The :ref:`ProjectSettings.input/ui_text_toggle_insert_mode<class_ProjectSettings_property_input/ui_text_toggle_insert_mode>` action toggles overtype mode. See :ref:`is_overtype_mode_enabled<class_TextEdit_method_is_overtype_mode_enabled>`.
  2149. .. rst-class:: classref-item-separator
  2150. ----
  2151. .. _class_TextEdit_method_set_search_flags:
  2152. .. rst-class:: classref-method
  2153. |void| **set_search_flags**\ (\ flags\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_set_search_flags>`
  2154. Sets the search ``flags``. This is used with :ref:`set_search_text<class_TextEdit_method_set_search_text>` to highlight occurrences of the searched text. Search flags can be specified from the :ref:`SearchFlags<enum_TextEdit_SearchFlags>` enum.
  2155. .. rst-class:: classref-item-separator
  2156. ----
  2157. .. _class_TextEdit_method_set_search_text:
  2158. .. rst-class:: classref-method
  2159. |void| **set_search_text**\ (\ search_text\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TextEdit_method_set_search_text>`
  2160. Sets the search text. See :ref:`set_search_flags<class_TextEdit_method_set_search_flags>`.
  2161. .. rst-class:: classref-item-separator
  2162. ----
  2163. .. _class_TextEdit_method_set_selection_mode:
  2164. .. rst-class:: classref-method
  2165. |void| **set_selection_mode**\ (\ mode\: :ref:`SelectionMode<enum_TextEdit_SelectionMode>`\ ) :ref:`🔗<class_TextEdit_method_set_selection_mode>`
  2166. Sets the current selection mode.
  2167. .. rst-class:: classref-item-separator
  2168. ----
  2169. .. _class_TextEdit_method_set_selection_origin_column:
  2170. .. rst-class:: classref-method
  2171. |void| **set_selection_origin_column**\ (\ column\: :ref:`int<class_int>`, caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_set_selection_origin_column>`
  2172. Sets the selection origin column to the ``column`` for the given ``caret_index``. If the selection origin is moved to the caret position, the selection will deselect.
  2173. .. rst-class:: classref-item-separator
  2174. ----
  2175. .. _class_TextEdit_method_set_selection_origin_line:
  2176. .. rst-class:: classref-method
  2177. |void| **set_selection_origin_line**\ (\ line\: :ref:`int<class_int>`, can_be_hidden\: :ref:`bool<class_bool>` = true, wrap_index\: :ref:`int<class_int>` = -1, caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_set_selection_origin_line>`
  2178. Sets the selection origin line to the ``line`` for the given ``caret_index``. If the selection origin is moved to the caret position, the selection will deselect.
  2179. If ``can_be_hidden`` is ``false``, The line will be set to the nearest unhidden line below or above.
  2180. If ``wrap_index`` is ``-1``, the selection origin column will be clamped to the ``line``'s length. If ``wrap_index`` is greater than ``-1``, the column will be moved to attempt to match the visual x position on the line's ``wrap_index`` to the position from the last time :ref:`set_selection_origin_column<class_TextEdit_method_set_selection_origin_column>` or :ref:`select<class_TextEdit_method_select>` was called.
  2181. .. rst-class:: classref-item-separator
  2182. ----
  2183. .. _class_TextEdit_method_set_tab_size:
  2184. .. rst-class:: classref-method
  2185. |void| **set_tab_size**\ (\ size\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_set_tab_size>`
  2186. Sets the tab size for the **TextEdit** to use.
  2187. .. rst-class:: classref-item-separator
  2188. ----
  2189. .. _class_TextEdit_method_set_tooltip_request_func:
  2190. .. rst-class:: classref-method
  2191. |void| **set_tooltip_request_func**\ (\ callback\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_TextEdit_method_set_tooltip_request_func>`
  2192. Provide custom tooltip text. The callback method must take the following args: ``hovered_word: String``.
  2193. .. rst-class:: classref-item-separator
  2194. ----
  2195. .. _class_TextEdit_method_skip_selection_for_next_occurrence:
  2196. .. rst-class:: classref-method
  2197. |void| **skip_selection_for_next_occurrence**\ (\ ) :ref:`🔗<class_TextEdit_method_skip_selection_for_next_occurrence>`
  2198. Moves a selection and a caret for the next occurrence of the current selection. If there is no active selection, moves to the next occurrence of the word under caret.
  2199. .. rst-class:: classref-item-separator
  2200. ----
  2201. .. _class_TextEdit_method_start_action:
  2202. .. rst-class:: classref-method
  2203. |void| **start_action**\ (\ action\: :ref:`EditAction<enum_TextEdit_EditAction>`\ ) :ref:`🔗<class_TextEdit_method_start_action>`
  2204. Starts an action, will end the current action if ``action`` is different.
  2205. An action will also end after a call to :ref:`end_action<class_TextEdit_method_end_action>`, after :ref:`ProjectSettings.gui/timers/text_edit_idle_detect_sec<class_ProjectSettings_property_gui/timers/text_edit_idle_detect_sec>` is triggered or a new undoable step outside the :ref:`start_action<class_TextEdit_method_start_action>` and :ref:`end_action<class_TextEdit_method_end_action>` calls.
  2206. .. rst-class:: classref-item-separator
  2207. ----
  2208. .. _class_TextEdit_method_swap_lines:
  2209. .. rst-class:: classref-method
  2210. |void| **swap_lines**\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_swap_lines>`
  2211. Swaps the two lines. Carets will be swapped with the lines.
  2212. .. rst-class:: classref-item-separator
  2213. ----
  2214. .. _class_TextEdit_method_tag_saved_version:
  2215. .. rst-class:: classref-method
  2216. |void| **tag_saved_version**\ (\ ) :ref:`🔗<class_TextEdit_method_tag_saved_version>`
  2217. Tag the current version as saved.
  2218. .. rst-class:: classref-item-separator
  2219. ----
  2220. .. _class_TextEdit_method_undo:
  2221. .. rst-class:: classref-method
  2222. |void| **undo**\ (\ ) :ref:`🔗<class_TextEdit_method_undo>`
  2223. Perform undo operation.
  2224. .. rst-class:: classref-section-separator
  2225. ----
  2226. .. rst-class:: classref-descriptions-group
  2227. Theme Property Descriptions
  2228. ---------------------------
  2229. .. _class_TextEdit_theme_color_background_color:
  2230. .. rst-class:: classref-themeproperty
  2231. :ref:`Color<class_Color>` **background_color** = ``Color(0, 0, 0, 0)`` :ref:`🔗<class_TextEdit_theme_color_background_color>`
  2232. Sets the background :ref:`Color<class_Color>` of this **TextEdit**.
  2233. .. rst-class:: classref-item-separator
  2234. ----
  2235. .. _class_TextEdit_theme_color_caret_background_color:
  2236. .. rst-class:: classref-themeproperty
  2237. :ref:`Color<class_Color>` **caret_background_color** = ``Color(0, 0, 0, 1)`` :ref:`🔗<class_TextEdit_theme_color_caret_background_color>`
  2238. :ref:`Color<class_Color>` of the text behind the caret when using a block caret.
  2239. .. rst-class:: classref-item-separator
  2240. ----
  2241. .. _class_TextEdit_theme_color_caret_color:
  2242. .. rst-class:: classref-themeproperty
  2243. :ref:`Color<class_Color>` **caret_color** = ``Color(0.875, 0.875, 0.875, 1)`` :ref:`🔗<class_TextEdit_theme_color_caret_color>`
  2244. :ref:`Color<class_Color>` of the caret. This can be set to a fully transparent color to hide the caret entirely.
  2245. .. rst-class:: classref-item-separator
  2246. ----
  2247. .. _class_TextEdit_theme_color_current_line_color:
  2248. .. rst-class:: classref-themeproperty
  2249. :ref:`Color<class_Color>` **current_line_color** = ``Color(0.25, 0.25, 0.26, 0.8)`` :ref:`🔗<class_TextEdit_theme_color_current_line_color>`
  2250. Background :ref:`Color<class_Color>` of the line containing the caret.
  2251. .. rst-class:: classref-item-separator
  2252. ----
  2253. .. _class_TextEdit_theme_color_font_color:
  2254. .. rst-class:: classref-themeproperty
  2255. :ref:`Color<class_Color>` **font_color** = ``Color(0.875, 0.875, 0.875, 1)`` :ref:`🔗<class_TextEdit_theme_color_font_color>`
  2256. Sets the font :ref:`Color<class_Color>`.
  2257. .. rst-class:: classref-item-separator
  2258. ----
  2259. .. _class_TextEdit_theme_color_font_outline_color:
  2260. .. rst-class:: classref-themeproperty
  2261. :ref:`Color<class_Color>` **font_outline_color** = ``Color(0, 0, 0, 1)`` :ref:`🔗<class_TextEdit_theme_color_font_outline_color>`
  2262. The tint of text outline of the **TextEdit**.
  2263. .. rst-class:: classref-item-separator
  2264. ----
  2265. .. _class_TextEdit_theme_color_font_placeholder_color:
  2266. .. rst-class:: classref-themeproperty
  2267. :ref:`Color<class_Color>` **font_placeholder_color** = ``Color(0.875, 0.875, 0.875, 0.6)`` :ref:`🔗<class_TextEdit_theme_color_font_placeholder_color>`
  2268. Font color for :ref:`placeholder_text<class_TextEdit_property_placeholder_text>`.
  2269. .. rst-class:: classref-item-separator
  2270. ----
  2271. .. _class_TextEdit_theme_color_font_readonly_color:
  2272. .. rst-class:: classref-themeproperty
  2273. :ref:`Color<class_Color>` **font_readonly_color** = ``Color(0.875, 0.875, 0.875, 0.5)`` :ref:`🔗<class_TextEdit_theme_color_font_readonly_color>`
  2274. Sets the font :ref:`Color<class_Color>` when :ref:`editable<class_TextEdit_property_editable>` is disabled.
  2275. .. rst-class:: classref-item-separator
  2276. ----
  2277. .. _class_TextEdit_theme_color_font_selected_color:
  2278. .. rst-class:: classref-themeproperty
  2279. :ref:`Color<class_Color>` **font_selected_color** = ``Color(0, 0, 0, 0)`` :ref:`🔗<class_TextEdit_theme_color_font_selected_color>`
  2280. Sets the :ref:`Color<class_Color>` of the selected text. If equal to ``Color(0, 0, 0, 0)``, it will be ignored.
  2281. .. rst-class:: classref-item-separator
  2282. ----
  2283. .. _class_TextEdit_theme_color_search_result_border_color:
  2284. .. rst-class:: classref-themeproperty
  2285. :ref:`Color<class_Color>` **search_result_border_color** = ``Color(0.3, 0.3, 0.3, 0.4)`` :ref:`🔗<class_TextEdit_theme_color_search_result_border_color>`
  2286. :ref:`Color<class_Color>` of the border around text that matches the search query.
  2287. .. rst-class:: classref-item-separator
  2288. ----
  2289. .. _class_TextEdit_theme_color_search_result_color:
  2290. .. rst-class:: classref-themeproperty
  2291. :ref:`Color<class_Color>` **search_result_color** = ``Color(0.3, 0.3, 0.3, 1)`` :ref:`🔗<class_TextEdit_theme_color_search_result_color>`
  2292. :ref:`Color<class_Color>` behind the text that matches the search query.
  2293. .. rst-class:: classref-item-separator
  2294. ----
  2295. .. _class_TextEdit_theme_color_selection_color:
  2296. .. rst-class:: classref-themeproperty
  2297. :ref:`Color<class_Color>` **selection_color** = ``Color(0.5, 0.5, 0.5, 1)`` :ref:`🔗<class_TextEdit_theme_color_selection_color>`
  2298. Sets the highlight :ref:`Color<class_Color>` of text selections.
  2299. .. rst-class:: classref-item-separator
  2300. ----
  2301. .. _class_TextEdit_theme_color_word_highlighted_color:
  2302. .. rst-class:: classref-themeproperty
  2303. :ref:`Color<class_Color>` **word_highlighted_color** = ``Color(0.5, 0.5, 0.5, 0.25)`` :ref:`🔗<class_TextEdit_theme_color_word_highlighted_color>`
  2304. Sets the highlight :ref:`Color<class_Color>` of multiple occurrences. :ref:`highlight_all_occurrences<class_TextEdit_property_highlight_all_occurrences>` has to be enabled.
  2305. .. rst-class:: classref-item-separator
  2306. ----
  2307. .. _class_TextEdit_theme_constant_caret_width:
  2308. .. rst-class:: classref-themeproperty
  2309. :ref:`int<class_int>` **caret_width** = ``1`` :ref:`🔗<class_TextEdit_theme_constant_caret_width>`
  2310. The caret's width in pixels. Greater values can be used to improve accessibility by ensuring the caret is easily visible, or to ensure consistency with a large font size. If set to ``0`` or lower, the caret width is automatically set to 1 pixel and multiplied by the display scaling factor.
  2311. .. rst-class:: classref-item-separator
  2312. ----
  2313. .. _class_TextEdit_theme_constant_line_spacing:
  2314. .. rst-class:: classref-themeproperty
  2315. :ref:`int<class_int>` **line_spacing** = ``4`` :ref:`🔗<class_TextEdit_theme_constant_line_spacing>`
  2316. Additional vertical spacing between lines (in pixels), spacing is added to line descent. This value can be negative.
  2317. .. rst-class:: classref-item-separator
  2318. ----
  2319. .. _class_TextEdit_theme_constant_outline_size:
  2320. .. rst-class:: classref-themeproperty
  2321. :ref:`int<class_int>` **outline_size** = ``0`` :ref:`🔗<class_TextEdit_theme_constant_outline_size>`
  2322. The size of the text outline.
  2323. \ **Note:** If using a font with :ref:`FontFile.multichannel_signed_distance_field<class_FontFile_property_multichannel_signed_distance_field>` enabled, its :ref:`FontFile.msdf_pixel_range<class_FontFile_property_msdf_pixel_range>` must be set to at least *twice* the value of :ref:`outline_size<class_TextEdit_theme_constant_outline_size>` for outline rendering to look correct. Otherwise, the outline may appear to be cut off earlier than intended.
  2324. .. rst-class:: classref-item-separator
  2325. ----
  2326. .. _class_TextEdit_theme_font_font:
  2327. .. rst-class:: classref-themeproperty
  2328. :ref:`Font<class_Font>` **font** :ref:`🔗<class_TextEdit_theme_font_font>`
  2329. Sets the default :ref:`Font<class_Font>`.
  2330. .. rst-class:: classref-item-separator
  2331. ----
  2332. .. _class_TextEdit_theme_font_size_font_size:
  2333. .. rst-class:: classref-themeproperty
  2334. :ref:`int<class_int>` **font_size** :ref:`🔗<class_TextEdit_theme_font_size_font_size>`
  2335. Sets default font size.
  2336. .. rst-class:: classref-item-separator
  2337. ----
  2338. .. _class_TextEdit_theme_icon_space:
  2339. .. rst-class:: classref-themeproperty
  2340. :ref:`Texture2D<class_Texture2D>` **space** :ref:`🔗<class_TextEdit_theme_icon_space>`
  2341. Sets a custom :ref:`Texture2D<class_Texture2D>` for space text characters.
  2342. .. rst-class:: classref-item-separator
  2343. ----
  2344. .. _class_TextEdit_theme_icon_tab:
  2345. .. rst-class:: classref-themeproperty
  2346. :ref:`Texture2D<class_Texture2D>` **tab** :ref:`🔗<class_TextEdit_theme_icon_tab>`
  2347. Sets a custom :ref:`Texture2D<class_Texture2D>` for tab text characters.
  2348. .. rst-class:: classref-item-separator
  2349. ----
  2350. .. _class_TextEdit_theme_style_focus:
  2351. .. rst-class:: classref-themeproperty
  2352. :ref:`StyleBox<class_StyleBox>` **focus** :ref:`🔗<class_TextEdit_theme_style_focus>`
  2353. Sets the :ref:`StyleBox<class_StyleBox>` when in focus. The :ref:`focus<class_TextEdit_theme_style_focus>` :ref:`StyleBox<class_StyleBox>` is displayed *over* the base :ref:`StyleBox<class_StyleBox>`, so a partially transparent :ref:`StyleBox<class_StyleBox>` should be used to ensure the base :ref:`StyleBox<class_StyleBox>` remains visible. A :ref:`StyleBox<class_StyleBox>` that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a :ref:`StyleBoxEmpty<class_StyleBoxEmpty>` resource. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons.
  2354. .. rst-class:: classref-item-separator
  2355. ----
  2356. .. _class_TextEdit_theme_style_normal:
  2357. .. rst-class:: classref-themeproperty
  2358. :ref:`StyleBox<class_StyleBox>` **normal** :ref:`🔗<class_TextEdit_theme_style_normal>`
  2359. Sets the :ref:`StyleBox<class_StyleBox>` of this **TextEdit**.
  2360. .. rst-class:: classref-item-separator
  2361. ----
  2362. .. _class_TextEdit_theme_style_read_only:
  2363. .. rst-class:: classref-themeproperty
  2364. :ref:`StyleBox<class_StyleBox>` **read_only** :ref:`🔗<class_TextEdit_theme_style_read_only>`
  2365. Sets the :ref:`StyleBox<class_StyleBox>` of this **TextEdit** when :ref:`editable<class_TextEdit_property_editable>` is disabled.
  2366. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  2367. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  2368. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  2369. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  2370. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  2371. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  2372. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  2373. .. |void| replace:: :abbr:`void (No return value.)`