class_textedit.rst 268 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282
  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. While entering text, it is possible to insert special characters using Unicode, OEM or Windows alt codes:
  19. - To enter Unicode codepoints, hold :kbd:`Alt` and type the codepoint on the numpad. For example, to enter the character ``á`` (U+00E1), hold :kbd:`Alt` and type :kbd:`+E1` on the numpad (the leading zeroes can be omitted).
  20. - To enter OEM codepoints, hold :kbd:`Alt` and type the code on the numpad. For example, to enter the character ``á`` (OEM 160), hold :kbd:`Alt` and type ``160`` on the numpad.
  21. - To enter Windows codepoints, hold :kbd:`Alt` and type the code on the numpad. For example, to enter the character ``á`` (Windows 0225), hold :kbd:`Alt` and type :kbd:`0`, :kbd:`2`, :kbd:`2`, :kbd:`5` on the numpad. The leading zero here must **not** be omitted, as this is how Windows codepoints are distinguished from OEM codepoints.
  22. \ **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.
  23. \ **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.
  24. .. rst-class:: classref-reftable-group
  25. Properties
  26. ----------
  27. .. table::
  28. :widths: auto
  29. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  30. | :ref:`AutowrapMode<enum_TextServer_AutowrapMode>` | :ref:`autowrap_mode<class_TextEdit_property_autowrap_mode>` | ``3`` |
  31. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  32. | :ref:`bool<class_bool>` | :ref:`backspace_deletes_composite_character_enabled<class_TextEdit_property_backspace_deletes_composite_character_enabled>` | ``false`` |
  33. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  34. | :ref:`bool<class_bool>` | :ref:`caret_blink<class_TextEdit_property_caret_blink>` | ``false`` |
  35. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  36. | :ref:`float<class_float>` | :ref:`caret_blink_interval<class_TextEdit_property_caret_blink_interval>` | ``0.65`` |
  37. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  38. | :ref:`bool<class_bool>` | :ref:`caret_draw_when_editable_disabled<class_TextEdit_property_caret_draw_when_editable_disabled>` | ``false`` |
  39. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  40. | :ref:`bool<class_bool>` | :ref:`caret_mid_grapheme<class_TextEdit_property_caret_mid_grapheme>` | ``false`` |
  41. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  42. | :ref:`bool<class_bool>` | :ref:`caret_move_on_right_click<class_TextEdit_property_caret_move_on_right_click>` | ``true`` |
  43. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  44. | :ref:`bool<class_bool>` | :ref:`caret_multiple<class_TextEdit_property_caret_multiple>` | ``true`` |
  45. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  46. | :ref:`CaretType<enum_TextEdit_CaretType>` | :ref:`caret_type<class_TextEdit_property_caret_type>` | ``0`` |
  47. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  48. | :ref:`bool<class_bool>` | clip_contents | ``true`` (overrides :ref:`Control<class_Control_property_clip_contents>`) |
  49. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  50. | :ref:`bool<class_bool>` | :ref:`context_menu_enabled<class_TextEdit_property_context_menu_enabled>` | ``true`` |
  51. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  52. | :ref:`String<class_String>` | :ref:`custom_word_separators<class_TextEdit_property_custom_word_separators>` | ``""`` |
  53. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  54. | :ref:`bool<class_bool>` | :ref:`deselect_on_focus_loss_enabled<class_TextEdit_property_deselect_on_focus_loss_enabled>` | ``true`` |
  55. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  56. | :ref:`bool<class_bool>` | :ref:`drag_and_drop_selection_enabled<class_TextEdit_property_drag_and_drop_selection_enabled>` | ``true`` |
  57. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  58. | :ref:`bool<class_bool>` | :ref:`draw_control_chars<class_TextEdit_property_draw_control_chars>` | ``false`` |
  59. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  60. | :ref:`bool<class_bool>` | :ref:`draw_spaces<class_TextEdit_property_draw_spaces>` | ``false`` |
  61. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  62. | :ref:`bool<class_bool>` | :ref:`draw_tabs<class_TextEdit_property_draw_tabs>` | ``false`` |
  63. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  64. | :ref:`bool<class_bool>` | :ref:`editable<class_TextEdit_property_editable>` | ``true`` |
  65. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  66. | :ref:`bool<class_bool>` | :ref:`emoji_menu_enabled<class_TextEdit_property_emoji_menu_enabled>` | ``true`` |
  67. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  68. | :ref:`bool<class_bool>` | :ref:`empty_selection_clipboard_enabled<class_TextEdit_property_empty_selection_clipboard_enabled>` | ``true`` |
  69. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  70. | :ref:`FocusMode<enum_Control_FocusMode>` | focus_mode | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`) |
  71. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  72. | :ref:`bool<class_bool>` | :ref:`highlight_all_occurrences<class_TextEdit_property_highlight_all_occurrences>` | ``false`` |
  73. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  74. | :ref:`bool<class_bool>` | :ref:`highlight_current_line<class_TextEdit_property_highlight_current_line>` | ``false`` |
  75. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  76. | :ref:`bool<class_bool>` | :ref:`indent_wrapped_lines<class_TextEdit_property_indent_wrapped_lines>` | ``false`` |
  77. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  78. | :ref:`String<class_String>` | :ref:`language<class_TextEdit_property_language>` | ``""`` |
  79. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  80. | :ref:`bool<class_bool>` | :ref:`middle_mouse_paste_enabled<class_TextEdit_property_middle_mouse_paste_enabled>` | ``true`` |
  81. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  82. | :ref:`bool<class_bool>` | :ref:`minimap_draw<class_TextEdit_property_minimap_draw>` | ``false`` |
  83. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  84. | :ref:`int<class_int>` | :ref:`minimap_width<class_TextEdit_property_minimap_width>` | ``80`` |
  85. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  86. | :ref:`CursorShape<enum_Control_CursorShape>` | mouse_default_cursor_shape | ``1`` (overrides :ref:`Control<class_Control_property_mouse_default_cursor_shape>`) |
  87. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  88. | :ref:`String<class_String>` | :ref:`placeholder_text<class_TextEdit_property_placeholder_text>` | ``""`` |
  89. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  90. | :ref:`bool<class_bool>` | :ref:`scroll_fit_content_height<class_TextEdit_property_scroll_fit_content_height>` | ``false`` |
  91. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  92. | :ref:`bool<class_bool>` | :ref:`scroll_fit_content_width<class_TextEdit_property_scroll_fit_content_width>` | ``false`` |
  93. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  94. | :ref:`int<class_int>` | :ref:`scroll_horizontal<class_TextEdit_property_scroll_horizontal>` | ``0`` |
  95. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  96. | :ref:`bool<class_bool>` | :ref:`scroll_past_end_of_file<class_TextEdit_property_scroll_past_end_of_file>` | ``false`` |
  97. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  98. | :ref:`bool<class_bool>` | :ref:`scroll_smooth<class_TextEdit_property_scroll_smooth>` | ``false`` |
  99. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  100. | :ref:`float<class_float>` | :ref:`scroll_v_scroll_speed<class_TextEdit_property_scroll_v_scroll_speed>` | ``80.0`` |
  101. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  102. | :ref:`float<class_float>` | :ref:`scroll_vertical<class_TextEdit_property_scroll_vertical>` | ``0.0`` |
  103. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  104. | :ref:`bool<class_bool>` | :ref:`selecting_enabled<class_TextEdit_property_selecting_enabled>` | ``true`` |
  105. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  106. | :ref:`bool<class_bool>` | :ref:`shortcut_keys_enabled<class_TextEdit_property_shortcut_keys_enabled>` | ``true`` |
  107. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  108. | :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` | :ref:`structured_text_bidi_override<class_TextEdit_property_structured_text_bidi_override>` | ``0`` |
  109. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  110. | :ref:`Array<class_Array>` | :ref:`structured_text_bidi_override_options<class_TextEdit_property_structured_text_bidi_override_options>` | ``[]`` |
  111. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  112. | :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` | :ref:`syntax_highlighter<class_TextEdit_property_syntax_highlighter>` | |
  113. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  114. | :ref:`bool<class_bool>` | :ref:`tab_input_mode<class_TextEdit_property_tab_input_mode>` | ``true`` |
  115. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  116. | :ref:`String<class_String>` | :ref:`text<class_TextEdit_property_text>` | ``""`` |
  117. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  118. | :ref:`TextDirection<enum_Control_TextDirection>` | :ref:`text_direction<class_TextEdit_property_text_direction>` | ``0`` |
  119. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  120. | :ref:`bool<class_bool>` | :ref:`use_custom_word_separators<class_TextEdit_property_use_custom_word_separators>` | ``false`` |
  121. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  122. | :ref:`bool<class_bool>` | :ref:`use_default_word_separators<class_TextEdit_property_use_default_word_separators>` | ``true`` |
  123. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  124. | :ref:`bool<class_bool>` | :ref:`virtual_keyboard_enabled<class_TextEdit_property_virtual_keyboard_enabled>` | ``true`` |
  125. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  126. | :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` | :ref:`wrap_mode<class_TextEdit_property_wrap_mode>` | ``0`` |
  127. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  128. .. rst-class:: classref-reftable-group
  129. Methods
  130. -------
  131. .. table::
  132. :widths: auto
  133. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  134. | |void| | :ref:`_backspace<class_TextEdit_private_method__backspace>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  135. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  136. | |void| | :ref:`_copy<class_TextEdit_private_method__copy>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  137. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  138. | |void| | :ref:`_cut<class_TextEdit_private_method__cut>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  139. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  140. | |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| |
  141. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  142. | |void| | :ref:`_paste<class_TextEdit_private_method__paste>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  143. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  144. | |void| | :ref:`_paste_primary_clipboard<class_TextEdit_private_method__paste_primary_clipboard>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| |
  145. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  146. | :ref:`int<class_int>` | :ref:`add_caret<class_TextEdit_method_add_caret>`\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |
  147. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  148. | |void| | :ref:`add_caret_at_carets<class_TextEdit_method_add_caret_at_carets>`\ (\ below\: :ref:`bool<class_bool>`\ ) |
  149. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  150. | |void| | :ref:`add_gutter<class_TextEdit_method_add_gutter>`\ (\ at\: :ref:`int<class_int>` = -1\ ) |
  151. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  152. | |void| | :ref:`add_selection_for_next_occurrence<class_TextEdit_method_add_selection_for_next_occurrence>`\ (\ ) |
  153. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  154. | |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>`\ ) |
  155. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  156. | |void| | :ref:`adjust_viewport_to_caret<class_TextEdit_method_adjust_viewport_to_caret>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |
  157. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  158. | |void| | :ref:`apply_ime<class_TextEdit_method_apply_ime>`\ (\ ) |
  159. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  160. | |void| | :ref:`backspace<class_TextEdit_method_backspace>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  161. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  162. | |void| | :ref:`begin_complex_operation<class_TextEdit_method_begin_complex_operation>`\ (\ ) |
  163. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  164. | |void| | :ref:`begin_multicaret_edit<class_TextEdit_method_begin_multicaret_edit>`\ (\ ) |
  165. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  166. | |void| | :ref:`cancel_ime<class_TextEdit_method_cancel_ime>`\ (\ ) |
  167. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  168. | |void| | :ref:`center_viewport_to_caret<class_TextEdit_method_center_viewport_to_caret>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |
  169. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  170. | |void| | :ref:`clear<class_TextEdit_method_clear>`\ (\ ) |
  171. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  172. | |void| | :ref:`clear_undo_history<class_TextEdit_method_clear_undo_history>`\ (\ ) |
  173. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  174. | |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\ ) |
  175. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  176. | |void| | :ref:`copy<class_TextEdit_method_copy>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  177. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  178. | |void| | :ref:`cut<class_TextEdit_method_cut>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  179. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  180. | |void| | :ref:`delete_selection<class_TextEdit_method_delete_selection>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  181. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  182. | |void| | :ref:`deselect<class_TextEdit_method_deselect>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  183. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  184. | |void| | :ref:`end_action<class_TextEdit_method_end_action>`\ (\ ) |
  185. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  186. | |void| | :ref:`end_complex_operation<class_TextEdit_method_end_complex_operation>`\ (\ ) |
  187. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  188. | |void| | :ref:`end_multicaret_edit<class_TextEdit_method_end_multicaret_edit>`\ (\ ) |
  189. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  190. | :ref:`int<class_int>` | :ref:`get_caret_column<class_TextEdit_method_get_caret_column>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  191. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  192. | :ref:`int<class_int>` | :ref:`get_caret_count<class_TextEdit_method_get_caret_count>`\ (\ ) |const| |
  193. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  194. | :ref:`Vector2<class_Vector2>` | :ref:`get_caret_draw_pos<class_TextEdit_method_get_caret_draw_pos>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  195. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  196. | :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`get_caret_index_edit_order<class_TextEdit_method_get_caret_index_edit_order>`\ (\ ) |
  197. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  198. | :ref:`int<class_int>` | :ref:`get_caret_line<class_TextEdit_method_get_caret_line>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  199. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  200. | :ref:`int<class_int>` | :ref:`get_caret_wrap_index<class_TextEdit_method_get_caret_wrap_index>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  201. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  202. | :ref:`int<class_int>` | :ref:`get_first_non_whitespace_column<class_TextEdit_method_get_first_non_whitespace_column>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  203. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  204. | :ref:`int<class_int>` | :ref:`get_first_visible_line<class_TextEdit_method_get_first_visible_line>`\ (\ ) |const| |
  205. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  206. | :ref:`int<class_int>` | :ref:`get_gutter_count<class_TextEdit_method_get_gutter_count>`\ (\ ) |const| |
  207. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  208. | :ref:`String<class_String>` | :ref:`get_gutter_name<class_TextEdit_method_get_gutter_name>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  209. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  210. | :ref:`GutterType<enum_TextEdit_GutterType>` | :ref:`get_gutter_type<class_TextEdit_method_get_gutter_type>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  211. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  212. | :ref:`int<class_int>` | :ref:`get_gutter_width<class_TextEdit_method_get_gutter_width>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  213. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  214. | :ref:`HScrollBar<class_HScrollBar>` | :ref:`get_h_scroll_bar<class_TextEdit_method_get_h_scroll_bar>`\ (\ ) |const| |
  215. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  216. | :ref:`int<class_int>` | :ref:`get_indent_level<class_TextEdit_method_get_indent_level>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  217. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  218. | :ref:`int<class_int>` | :ref:`get_last_full_visible_line<class_TextEdit_method_get_last_full_visible_line>`\ (\ ) |const| |
  219. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  220. | :ref:`int<class_int>` | :ref:`get_last_full_visible_line_wrap_index<class_TextEdit_method_get_last_full_visible_line_wrap_index>`\ (\ ) |const| |
  221. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  222. | :ref:`int<class_int>` | :ref:`get_last_unhidden_line<class_TextEdit_method_get_last_unhidden_line>`\ (\ ) |const| |
  223. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  224. | :ref:`String<class_String>` | :ref:`get_line<class_TextEdit_method_get_line>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  225. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  226. | :ref:`Color<class_Color>` | :ref:`get_line_background_color<class_TextEdit_method_get_line_background_color>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  227. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  228. | :ref:`Vector2i<class_Vector2i>` | :ref:`get_line_column_at_pos<class_TextEdit_method_get_line_column_at_pos>`\ (\ position\: :ref:`Vector2i<class_Vector2i>`, clamp_line\: :ref:`bool<class_bool>` = true, clamp_column\: :ref:`bool<class_bool>` = true\ ) |const| |
  229. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  230. | :ref:`int<class_int>` | :ref:`get_line_count<class_TextEdit_method_get_line_count>`\ (\ ) |const| |
  231. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  232. | :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| |
  233. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  234. | :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| |
  235. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  236. | :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| |
  237. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  238. | :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| |
  239. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  240. | :ref:`int<class_int>` | :ref:`get_line_height<class_TextEdit_method_get_line_height>`\ (\ ) |const| |
  241. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  242. | :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| |
  243. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  244. | :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| |
  245. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  246. | :ref:`String<class_String>` | :ref:`get_line_with_ime<class_TextEdit_method_get_line_with_ime>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  247. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  248. | :ref:`int<class_int>` | :ref:`get_line_wrap_count<class_TextEdit_method_get_line_wrap_count>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  249. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  250. | :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| |
  251. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  252. | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_line_wrapped_text<class_TextEdit_method_get_line_wrapped_text>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  253. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  254. | :ref:`Vector2<class_Vector2>` | :ref:`get_local_mouse_pos<class_TextEdit_method_get_local_mouse_pos>`\ (\ ) |const| |
  255. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  256. | :ref:`PopupMenu<class_PopupMenu>` | :ref:`get_menu<class_TextEdit_method_get_menu>`\ (\ ) |const| |
  257. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  258. | :ref:`int<class_int>` | :ref:`get_minimap_line_at_pos<class_TextEdit_method_get_minimap_line_at_pos>`\ (\ position\: :ref:`Vector2i<class_Vector2i>`\ ) |const| |
  259. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  260. | :ref:`int<class_int>` | :ref:`get_minimap_visible_lines<class_TextEdit_method_get_minimap_visible_lines>`\ (\ ) |const| |
  261. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  262. | :ref:`int<class_int>` | :ref:`get_next_composite_character_column<class_TextEdit_method_get_next_composite_character_column>`\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| |
  263. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  264. | :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| |
  265. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  266. | :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| |
  267. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  268. | :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| |
  269. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  270. | :ref:`int<class_int>` | :ref:`get_previous_composite_character_column<class_TextEdit_method_get_previous_composite_character_column>`\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| |
  271. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  272. | :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| |
  273. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  274. | :ref:`int<class_int>` | :ref:`get_saved_version<class_TextEdit_method_get_saved_version>`\ (\ ) |const| |
  275. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  276. | :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| |
  277. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  278. | :ref:`String<class_String>` | :ref:`get_selected_text<class_TextEdit_method_get_selected_text>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  279. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  280. | :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| |
  281. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  282. | :ref:`int<class_int>` | :ref:`get_selection_column<class_TextEdit_method_get_selection_column>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  283. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  284. | :ref:`int<class_int>` | :ref:`get_selection_from_column<class_TextEdit_method_get_selection_from_column>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  285. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  286. | :ref:`int<class_int>` | :ref:`get_selection_from_line<class_TextEdit_method_get_selection_from_line>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  287. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  288. | :ref:`int<class_int>` | :ref:`get_selection_line<class_TextEdit_method_get_selection_line>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  289. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  290. | :ref:`SelectionMode<enum_TextEdit_SelectionMode>` | :ref:`get_selection_mode<class_TextEdit_method_get_selection_mode>`\ (\ ) |const| |
  291. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  292. | :ref:`int<class_int>` | :ref:`get_selection_origin_column<class_TextEdit_method_get_selection_origin_column>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  293. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  294. | :ref:`int<class_int>` | :ref:`get_selection_origin_line<class_TextEdit_method_get_selection_origin_line>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  295. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  296. | :ref:`int<class_int>` | :ref:`get_selection_to_column<class_TextEdit_method_get_selection_to_column>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  297. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  298. | :ref:`int<class_int>` | :ref:`get_selection_to_line<class_TextEdit_method_get_selection_to_line>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  299. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  300. | :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`get_sorted_carets<class_TextEdit_method_get_sorted_carets>`\ (\ include_ignored_carets\: :ref:`bool<class_bool>` = false\ ) |const| |
  301. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  302. | :ref:`int<class_int>` | :ref:`get_tab_size<class_TextEdit_method_get_tab_size>`\ (\ ) |const| |
  303. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  304. | :ref:`int<class_int>` | :ref:`get_total_gutter_width<class_TextEdit_method_get_total_gutter_width>`\ (\ ) |const| |
  305. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  306. | :ref:`int<class_int>` | :ref:`get_total_visible_line_count<class_TextEdit_method_get_total_visible_line_count>`\ (\ ) |const| |
  307. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  308. | :ref:`VScrollBar<class_VScrollBar>` | :ref:`get_v_scroll_bar<class_TextEdit_method_get_v_scroll_bar>`\ (\ ) |const| |
  309. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  310. | :ref:`int<class_int>` | :ref:`get_version<class_TextEdit_method_get_version>`\ (\ ) |const| |
  311. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  312. | :ref:`int<class_int>` | :ref:`get_visible_line_count<class_TextEdit_method_get_visible_line_count>`\ (\ ) |const| |
  313. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  314. | :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| |
  315. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  316. | :ref:`String<class_String>` | :ref:`get_word_at_pos<class_TextEdit_method_get_word_at_pos>`\ (\ position\: :ref:`Vector2<class_Vector2>`\ ) |const| |
  317. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  318. | :ref:`String<class_String>` | :ref:`get_word_under_caret<class_TextEdit_method_get_word_under_caret>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |const| |
  319. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  320. | :ref:`bool<class_bool>` | :ref:`has_ime_text<class_TextEdit_method_has_ime_text>`\ (\ ) |const| |
  321. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  322. | :ref:`bool<class_bool>` | :ref:`has_redo<class_TextEdit_method_has_redo>`\ (\ ) |const| |
  323. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  324. | :ref:`bool<class_bool>` | :ref:`has_selection<class_TextEdit_method_has_selection>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |const| |
  325. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  326. | :ref:`bool<class_bool>` | :ref:`has_undo<class_TextEdit_method_has_undo>`\ (\ ) |const| |
  327. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  328. | |void| | :ref:`insert_line_at<class_TextEdit_method_insert_line_at>`\ (\ line\: :ref:`int<class_int>`, text\: :ref:`String<class_String>`\ ) |
  329. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  330. | |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\ ) |
  331. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  332. | |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\ ) |
  333. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  334. | :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| |
  335. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  336. | :ref:`bool<class_bool>` | :ref:`is_caret_visible<class_TextEdit_method_is_caret_visible>`\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| |
  337. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  338. | :ref:`bool<class_bool>` | :ref:`is_dragging_cursor<class_TextEdit_method_is_dragging_cursor>`\ (\ ) |const| |
  339. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  340. | :ref:`bool<class_bool>` | :ref:`is_gutter_clickable<class_TextEdit_method_is_gutter_clickable>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  341. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  342. | :ref:`bool<class_bool>` | :ref:`is_gutter_drawn<class_TextEdit_method_is_gutter_drawn>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  343. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  344. | :ref:`bool<class_bool>` | :ref:`is_gutter_overwritable<class_TextEdit_method_is_gutter_overwritable>`\ (\ gutter\: :ref:`int<class_int>`\ ) |const| |
  345. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  346. | :ref:`bool<class_bool>` | :ref:`is_in_mulitcaret_edit<class_TextEdit_method_is_in_mulitcaret_edit>`\ (\ ) |const| |
  347. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  348. | :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| |
  349. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  350. | :ref:`bool<class_bool>` | :ref:`is_line_wrapped<class_TextEdit_method_is_line_wrapped>`\ (\ line\: :ref:`int<class_int>`\ ) |const| |
  351. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  352. | :ref:`bool<class_bool>` | :ref:`is_menu_visible<class_TextEdit_method_is_menu_visible>`\ (\ ) |const| |
  353. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  354. | :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| |
  355. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  356. | :ref:`bool<class_bool>` | :ref:`is_overtype_mode_enabled<class_TextEdit_method_is_overtype_mode_enabled>`\ (\ ) |const| |
  357. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  358. | |void| | :ref:`menu_option<class_TextEdit_method_menu_option>`\ (\ option\: :ref:`int<class_int>`\ ) |
  359. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  360. | |void| | :ref:`merge_gutters<class_TextEdit_method_merge_gutters>`\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) |
  361. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  362. | |void| | :ref:`merge_overlapping_carets<class_TextEdit_method_merge_overlapping_carets>`\ (\ ) |
  363. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  364. | :ref:`bool<class_bool>` | :ref:`multicaret_edit_ignore_caret<class_TextEdit_method_multicaret_edit_ignore_caret>`\ (\ caret_index\: :ref:`int<class_int>`\ ) |const| |
  365. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  366. | |void| | :ref:`paste<class_TextEdit_method_paste>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  367. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  368. | |void| | :ref:`paste_primary_clipboard<class_TextEdit_method_paste_primary_clipboard>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  369. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  370. | |void| | :ref:`redo<class_TextEdit_method_redo>`\ (\ ) |
  371. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  372. | |void| | :ref:`remove_caret<class_TextEdit_method_remove_caret>`\ (\ caret\: :ref:`int<class_int>`\ ) |
  373. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  374. | |void| | :ref:`remove_gutter<class_TextEdit_method_remove_gutter>`\ (\ gutter\: :ref:`int<class_int>`\ ) |
  375. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  376. | |void| | :ref:`remove_line_at<class_TextEdit_method_remove_line_at>`\ (\ line\: :ref:`int<class_int>`, move_carets_down\: :ref:`bool<class_bool>` = true\ ) |
  377. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  378. | |void| | :ref:`remove_secondary_carets<class_TextEdit_method_remove_secondary_carets>`\ (\ ) |
  379. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  380. | |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>`\ ) |
  381. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  382. | :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| |
  383. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  384. | |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\ ) |
  385. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  386. | |void| | :ref:`select_all<class_TextEdit_method_select_all>`\ (\ ) |
  387. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  388. | |void| | :ref:`select_word_under_caret<class_TextEdit_method_select_word_under_caret>`\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |
  389. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  390. | |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\ ) |
  391. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  392. | |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\ ) |
  393. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  394. | |void| | :ref:`set_gutter_clickable<class_TextEdit_method_set_gutter_clickable>`\ (\ gutter\: :ref:`int<class_int>`, clickable\: :ref:`bool<class_bool>`\ ) |
  395. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  396. | |void| | :ref:`set_gutter_custom_draw<class_TextEdit_method_set_gutter_custom_draw>`\ (\ column\: :ref:`int<class_int>`, draw_callback\: :ref:`Callable<class_Callable>`\ ) |
  397. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  398. | |void| | :ref:`set_gutter_draw<class_TextEdit_method_set_gutter_draw>`\ (\ gutter\: :ref:`int<class_int>`, draw\: :ref:`bool<class_bool>`\ ) |
  399. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  400. | |void| | :ref:`set_gutter_name<class_TextEdit_method_set_gutter_name>`\ (\ gutter\: :ref:`int<class_int>`, name\: :ref:`String<class_String>`\ ) |
  401. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  402. | |void| | :ref:`set_gutter_overwritable<class_TextEdit_method_set_gutter_overwritable>`\ (\ gutter\: :ref:`int<class_int>`, overwritable\: :ref:`bool<class_bool>`\ ) |
  403. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  404. | |void| | :ref:`set_gutter_type<class_TextEdit_method_set_gutter_type>`\ (\ gutter\: :ref:`int<class_int>`, type\: :ref:`GutterType<enum_TextEdit_GutterType>`\ ) |
  405. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  406. | |void| | :ref:`set_gutter_width<class_TextEdit_method_set_gutter_width>`\ (\ gutter\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`\ ) |
  407. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  408. | |void| | :ref:`set_line<class_TextEdit_method_set_line>`\ (\ line\: :ref:`int<class_int>`, new_text\: :ref:`String<class_String>`\ ) |
  409. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  410. | |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\ ) |
  411. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  412. | |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\ ) |
  413. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  414. | |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\ ) |
  415. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  416. | |void| | :ref:`set_line_background_color<class_TextEdit_method_set_line_background_color>`\ (\ line\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |
  417. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  418. | |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>`\ ) |
  419. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  420. | |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>`\ ) |
  421. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  422. | |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>`\ ) |
  423. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  424. | |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>`\ ) |
  425. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  426. | |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>`\ ) |
  427. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  428. | |void| | :ref:`set_overtype_mode_enabled<class_TextEdit_method_set_overtype_mode_enabled>`\ (\ enabled\: :ref:`bool<class_bool>`\ ) |
  429. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  430. | |void| | :ref:`set_search_flags<class_TextEdit_method_set_search_flags>`\ (\ flags\: :ref:`int<class_int>`\ ) |
  431. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  432. | |void| | :ref:`set_search_text<class_TextEdit_method_set_search_text>`\ (\ search_text\: :ref:`String<class_String>`\ ) |
  433. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  434. | |void| | :ref:`set_selection_mode<class_TextEdit_method_set_selection_mode>`\ (\ mode\: :ref:`SelectionMode<enum_TextEdit_SelectionMode>`\ ) |
  435. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  436. | |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\ ) |
  437. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  438. | |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\ ) |
  439. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  440. | |void| | :ref:`set_tab_size<class_TextEdit_method_set_tab_size>`\ (\ size\: :ref:`int<class_int>`\ ) |
  441. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  442. | |void| | :ref:`set_tooltip_request_func<class_TextEdit_method_set_tooltip_request_func>`\ (\ callback\: :ref:`Callable<class_Callable>`\ ) |
  443. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  444. | |void| | :ref:`skip_selection_for_next_occurrence<class_TextEdit_method_skip_selection_for_next_occurrence>`\ (\ ) |
  445. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  446. | |void| | :ref:`start_action<class_TextEdit_method_start_action>`\ (\ action\: :ref:`EditAction<enum_TextEdit_EditAction>`\ ) |
  447. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  448. | |void| | :ref:`swap_lines<class_TextEdit_method_swap_lines>`\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) |
  449. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  450. | |void| | :ref:`tag_saved_version<class_TextEdit_method_tag_saved_version>`\ (\ ) |
  451. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  452. | |void| | :ref:`undo<class_TextEdit_method_undo>`\ (\ ) |
  453. +--------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  454. .. rst-class:: classref-reftable-group
  455. Theme Properties
  456. ----------------
  457. .. table::
  458. :widths: auto
  459. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  460. | :ref:`Color<class_Color>` | :ref:`background_color<class_TextEdit_theme_color_background_color>` | ``Color(0, 0, 0, 0)`` |
  461. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  462. | :ref:`Color<class_Color>` | :ref:`caret_background_color<class_TextEdit_theme_color_caret_background_color>` | ``Color(0, 0, 0, 1)`` |
  463. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  464. | :ref:`Color<class_Color>` | :ref:`caret_color<class_TextEdit_theme_color_caret_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
  465. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  466. | :ref:`Color<class_Color>` | :ref:`current_line_color<class_TextEdit_theme_color_current_line_color>` | ``Color(0.25, 0.25, 0.26, 0.8)`` |
  467. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  468. | :ref:`Color<class_Color>` | :ref:`font_color<class_TextEdit_theme_color_font_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
  469. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  470. | :ref:`Color<class_Color>` | :ref:`font_outline_color<class_TextEdit_theme_color_font_outline_color>` | ``Color(0, 0, 0, 1)`` |
  471. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  472. | :ref:`Color<class_Color>` | :ref:`font_placeholder_color<class_TextEdit_theme_color_font_placeholder_color>` | ``Color(0.875, 0.875, 0.875, 0.6)`` |
  473. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  474. | :ref:`Color<class_Color>` | :ref:`font_readonly_color<class_TextEdit_theme_color_font_readonly_color>` | ``Color(0.875, 0.875, 0.875, 0.5)`` |
  475. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  476. | :ref:`Color<class_Color>` | :ref:`font_selected_color<class_TextEdit_theme_color_font_selected_color>` | ``Color(0, 0, 0, 0)`` |
  477. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  478. | :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)`` |
  479. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  480. | :ref:`Color<class_Color>` | :ref:`search_result_color<class_TextEdit_theme_color_search_result_color>` | ``Color(0.3, 0.3, 0.3, 1)`` |
  481. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  482. | :ref:`Color<class_Color>` | :ref:`selection_color<class_TextEdit_theme_color_selection_color>` | ``Color(0.5, 0.5, 0.5, 1)`` |
  483. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  484. | :ref:`Color<class_Color>` | :ref:`word_highlighted_color<class_TextEdit_theme_color_word_highlighted_color>` | ``Color(0.5, 0.5, 0.5, 0.25)`` |
  485. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  486. | :ref:`int<class_int>` | :ref:`caret_width<class_TextEdit_theme_constant_caret_width>` | ``1`` |
  487. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  488. | :ref:`int<class_int>` | :ref:`line_spacing<class_TextEdit_theme_constant_line_spacing>` | ``4`` |
  489. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  490. | :ref:`int<class_int>` | :ref:`outline_size<class_TextEdit_theme_constant_outline_size>` | ``0`` |
  491. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  492. | :ref:`Font<class_Font>` | :ref:`font<class_TextEdit_theme_font_font>` | |
  493. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  494. | :ref:`int<class_int>` | :ref:`font_size<class_TextEdit_theme_font_size_font_size>` | |
  495. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  496. | :ref:`Texture2D<class_Texture2D>` | :ref:`space<class_TextEdit_theme_icon_space>` | |
  497. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  498. | :ref:`Texture2D<class_Texture2D>` | :ref:`tab<class_TextEdit_theme_icon_tab>` | |
  499. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  500. | :ref:`StyleBox<class_StyleBox>` | :ref:`focus<class_TextEdit_theme_style_focus>` | |
  501. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  502. | :ref:`StyleBox<class_StyleBox>` | :ref:`normal<class_TextEdit_theme_style_normal>` | |
  503. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  504. | :ref:`StyleBox<class_StyleBox>` | :ref:`read_only<class_TextEdit_theme_style_read_only>` | |
  505. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  506. .. rst-class:: classref-section-separator
  507. ----
  508. .. rst-class:: classref-descriptions-group
  509. Signals
  510. -------
  511. .. _class_TextEdit_signal_caret_changed:
  512. .. rst-class:: classref-signal
  513. **caret_changed**\ (\ ) :ref:`🔗<class_TextEdit_signal_caret_changed>`
  514. Emitted when any caret changes position.
  515. .. rst-class:: classref-item-separator
  516. ----
  517. .. _class_TextEdit_signal_gutter_added:
  518. .. rst-class:: classref-signal
  519. **gutter_added**\ (\ ) :ref:`🔗<class_TextEdit_signal_gutter_added>`
  520. Emitted when a gutter is added.
  521. .. rst-class:: classref-item-separator
  522. ----
  523. .. _class_TextEdit_signal_gutter_clicked:
  524. .. rst-class:: classref-signal
  525. **gutter_clicked**\ (\ line\: :ref:`int<class_int>`, gutter\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_signal_gutter_clicked>`
  526. Emitted when a gutter is clicked.
  527. .. rst-class:: classref-item-separator
  528. ----
  529. .. _class_TextEdit_signal_gutter_removed:
  530. .. rst-class:: classref-signal
  531. **gutter_removed**\ (\ ) :ref:`🔗<class_TextEdit_signal_gutter_removed>`
  532. Emitted when a gutter is removed.
  533. .. rst-class:: classref-item-separator
  534. ----
  535. .. _class_TextEdit_signal_lines_edited_from:
  536. .. rst-class:: classref-signal
  537. **lines_edited_from**\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_signal_lines_edited_from>`
  538. Emitted immediately when the text changes.
  539. When text is added ``from_line`` will be less than ``to_line``. On a remove ``to_line`` will be less than ``from_line``.
  540. .. rst-class:: classref-item-separator
  541. ----
  542. .. _class_TextEdit_signal_text_changed:
  543. .. rst-class:: classref-signal
  544. **text_changed**\ (\ ) :ref:`🔗<class_TextEdit_signal_text_changed>`
  545. Emitted when the text changes.
  546. .. rst-class:: classref-item-separator
  547. ----
  548. .. _class_TextEdit_signal_text_set:
  549. .. rst-class:: classref-signal
  550. **text_set**\ (\ ) :ref:`🔗<class_TextEdit_signal_text_set>`
  551. Emitted when :ref:`clear()<class_TextEdit_method_clear>` is called or :ref:`text<class_TextEdit_property_text>` is set.
  552. .. rst-class:: classref-section-separator
  553. ----
  554. .. rst-class:: classref-descriptions-group
  555. Enumerations
  556. ------------
  557. .. _enum_TextEdit_MenuItems:
  558. .. rst-class:: classref-enumeration
  559. enum **MenuItems**: :ref:`🔗<enum_TextEdit_MenuItems>`
  560. .. _class_TextEdit_constant_MENU_CUT:
  561. .. rst-class:: classref-enumeration-constant
  562. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_CUT** = ``0``
  563. Cuts (copies and clears) the selected text.
  564. .. _class_TextEdit_constant_MENU_COPY:
  565. .. rst-class:: classref-enumeration-constant
  566. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_COPY** = ``1``
  567. Copies the selected text.
  568. .. _class_TextEdit_constant_MENU_PASTE:
  569. .. rst-class:: classref-enumeration-constant
  570. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_PASTE** = ``2``
  571. Pastes the clipboard text over the selected text (or at the cursor's position).
  572. .. _class_TextEdit_constant_MENU_CLEAR:
  573. .. rst-class:: classref-enumeration-constant
  574. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_CLEAR** = ``3``
  575. Erases the whole **TextEdit** text.
  576. .. _class_TextEdit_constant_MENU_SELECT_ALL:
  577. .. rst-class:: classref-enumeration-constant
  578. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_SELECT_ALL** = ``4``
  579. Selects the whole **TextEdit** text.
  580. .. _class_TextEdit_constant_MENU_UNDO:
  581. .. rst-class:: classref-enumeration-constant
  582. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_UNDO** = ``5``
  583. Undoes the previous action.
  584. .. _class_TextEdit_constant_MENU_REDO:
  585. .. rst-class:: classref-enumeration-constant
  586. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_REDO** = ``6``
  587. Redoes the previous action.
  588. .. _class_TextEdit_constant_MENU_SUBMENU_TEXT_DIR:
  589. .. rst-class:: classref-enumeration-constant
  590. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_SUBMENU_TEXT_DIR** = ``7``
  591. ID of "Text Writing Direction" submenu.
  592. .. _class_TextEdit_constant_MENU_DIR_INHERITED:
  593. .. rst-class:: classref-enumeration-constant
  594. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DIR_INHERITED** = ``8``
  595. Sets text direction to inherited.
  596. .. _class_TextEdit_constant_MENU_DIR_AUTO:
  597. .. rst-class:: classref-enumeration-constant
  598. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DIR_AUTO** = ``9``
  599. Sets text direction to automatic.
  600. .. _class_TextEdit_constant_MENU_DIR_LTR:
  601. .. rst-class:: classref-enumeration-constant
  602. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DIR_LTR** = ``10``
  603. Sets text direction to left-to-right.
  604. .. _class_TextEdit_constant_MENU_DIR_RTL:
  605. .. rst-class:: classref-enumeration-constant
  606. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DIR_RTL** = ``11``
  607. Sets text direction to right-to-left.
  608. .. _class_TextEdit_constant_MENU_DISPLAY_UCC:
  609. .. rst-class:: classref-enumeration-constant
  610. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DISPLAY_UCC** = ``12``
  611. Toggles control character display.
  612. .. _class_TextEdit_constant_MENU_SUBMENU_INSERT_UCC:
  613. .. rst-class:: classref-enumeration-constant
  614. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_SUBMENU_INSERT_UCC** = ``13``
  615. ID of "Insert Control Character" submenu.
  616. .. _class_TextEdit_constant_MENU_INSERT_LRM:
  617. .. rst-class:: classref-enumeration-constant
  618. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_LRM** = ``14``
  619. Inserts left-to-right mark (LRM) character.
  620. .. _class_TextEdit_constant_MENU_INSERT_RLM:
  621. .. rst-class:: classref-enumeration-constant
  622. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_RLM** = ``15``
  623. Inserts right-to-left mark (RLM) character.
  624. .. _class_TextEdit_constant_MENU_INSERT_LRE:
  625. .. rst-class:: classref-enumeration-constant
  626. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_LRE** = ``16``
  627. Inserts start of left-to-right embedding (LRE) character.
  628. .. _class_TextEdit_constant_MENU_INSERT_RLE:
  629. .. rst-class:: classref-enumeration-constant
  630. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_RLE** = ``17``
  631. Inserts start of right-to-left embedding (RLE) character.
  632. .. _class_TextEdit_constant_MENU_INSERT_LRO:
  633. .. rst-class:: classref-enumeration-constant
  634. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_LRO** = ``18``
  635. Inserts start of left-to-right override (LRO) character.
  636. .. _class_TextEdit_constant_MENU_INSERT_RLO:
  637. .. rst-class:: classref-enumeration-constant
  638. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_RLO** = ``19``
  639. Inserts start of right-to-left override (RLO) character.
  640. .. _class_TextEdit_constant_MENU_INSERT_PDF:
  641. .. rst-class:: classref-enumeration-constant
  642. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_PDF** = ``20``
  643. Inserts pop direction formatting (PDF) character.
  644. .. _class_TextEdit_constant_MENU_INSERT_ALM:
  645. .. rst-class:: classref-enumeration-constant
  646. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_ALM** = ``21``
  647. Inserts Arabic letter mark (ALM) character.
  648. .. _class_TextEdit_constant_MENU_INSERT_LRI:
  649. .. rst-class:: classref-enumeration-constant
  650. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_LRI** = ``22``
  651. Inserts left-to-right isolate (LRI) character.
  652. .. _class_TextEdit_constant_MENU_INSERT_RLI:
  653. .. rst-class:: classref-enumeration-constant
  654. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_RLI** = ``23``
  655. Inserts right-to-left isolate (RLI) character.
  656. .. _class_TextEdit_constant_MENU_INSERT_FSI:
  657. .. rst-class:: classref-enumeration-constant
  658. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_FSI** = ``24``
  659. Inserts first strong isolate (FSI) character.
  660. .. _class_TextEdit_constant_MENU_INSERT_PDI:
  661. .. rst-class:: classref-enumeration-constant
  662. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_PDI** = ``25``
  663. Inserts pop direction isolate (PDI) character.
  664. .. _class_TextEdit_constant_MENU_INSERT_ZWJ:
  665. .. rst-class:: classref-enumeration-constant
  666. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_ZWJ** = ``26``
  667. Inserts zero width joiner (ZWJ) character.
  668. .. _class_TextEdit_constant_MENU_INSERT_ZWNJ:
  669. .. rst-class:: classref-enumeration-constant
  670. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_ZWNJ** = ``27``
  671. Inserts zero width non-joiner (ZWNJ) character.
  672. .. _class_TextEdit_constant_MENU_INSERT_WJ:
  673. .. rst-class:: classref-enumeration-constant
  674. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_WJ** = ``28``
  675. Inserts word joiner (WJ) character.
  676. .. _class_TextEdit_constant_MENU_INSERT_SHY:
  677. .. rst-class:: classref-enumeration-constant
  678. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_SHY** = ``29``
  679. Inserts soft hyphen (SHY) character.
  680. .. _class_TextEdit_constant_MENU_EMOJI_AND_SYMBOL:
  681. .. rst-class:: classref-enumeration-constant
  682. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_EMOJI_AND_SYMBOL** = ``30``
  683. Opens system emoji and symbol picker.
  684. .. _class_TextEdit_constant_MENU_MAX:
  685. .. rst-class:: classref-enumeration-constant
  686. :ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_MAX** = ``31``
  687. Represents the size of the :ref:`MenuItems<enum_TextEdit_MenuItems>` enum.
  688. .. rst-class:: classref-item-separator
  689. ----
  690. .. _enum_TextEdit_EditAction:
  691. .. rst-class:: classref-enumeration
  692. enum **EditAction**: :ref:`🔗<enum_TextEdit_EditAction>`
  693. .. _class_TextEdit_constant_ACTION_NONE:
  694. .. rst-class:: classref-enumeration-constant
  695. :ref:`EditAction<enum_TextEdit_EditAction>` **ACTION_NONE** = ``0``
  696. No current action.
  697. .. _class_TextEdit_constant_ACTION_TYPING:
  698. .. rst-class:: classref-enumeration-constant
  699. :ref:`EditAction<enum_TextEdit_EditAction>` **ACTION_TYPING** = ``1``
  700. A typing action.
  701. .. _class_TextEdit_constant_ACTION_BACKSPACE:
  702. .. rst-class:: classref-enumeration-constant
  703. :ref:`EditAction<enum_TextEdit_EditAction>` **ACTION_BACKSPACE** = ``2``
  704. A backwards delete action.
  705. .. _class_TextEdit_constant_ACTION_DELETE:
  706. .. rst-class:: classref-enumeration-constant
  707. :ref:`EditAction<enum_TextEdit_EditAction>` **ACTION_DELETE** = ``3``
  708. A forward delete action.
  709. .. rst-class:: classref-item-separator
  710. ----
  711. .. _enum_TextEdit_SearchFlags:
  712. .. rst-class:: classref-enumeration
  713. enum **SearchFlags**: :ref:`🔗<enum_TextEdit_SearchFlags>`
  714. .. _class_TextEdit_constant_SEARCH_MATCH_CASE:
  715. .. rst-class:: classref-enumeration-constant
  716. :ref:`SearchFlags<enum_TextEdit_SearchFlags>` **SEARCH_MATCH_CASE** = ``1``
  717. Match case when searching.
  718. .. _class_TextEdit_constant_SEARCH_WHOLE_WORDS:
  719. .. rst-class:: classref-enumeration-constant
  720. :ref:`SearchFlags<enum_TextEdit_SearchFlags>` **SEARCH_WHOLE_WORDS** = ``2``
  721. Match whole words when searching.
  722. .. _class_TextEdit_constant_SEARCH_BACKWARDS:
  723. .. rst-class:: classref-enumeration-constant
  724. :ref:`SearchFlags<enum_TextEdit_SearchFlags>` **SEARCH_BACKWARDS** = ``4``
  725. Search from end to beginning.
  726. .. rst-class:: classref-item-separator
  727. ----
  728. .. _enum_TextEdit_CaretType:
  729. .. rst-class:: classref-enumeration
  730. enum **CaretType**: :ref:`🔗<enum_TextEdit_CaretType>`
  731. .. _class_TextEdit_constant_CARET_TYPE_LINE:
  732. .. rst-class:: classref-enumeration-constant
  733. :ref:`CaretType<enum_TextEdit_CaretType>` **CARET_TYPE_LINE** = ``0``
  734. Vertical line caret.
  735. .. _class_TextEdit_constant_CARET_TYPE_BLOCK:
  736. .. rst-class:: classref-enumeration-constant
  737. :ref:`CaretType<enum_TextEdit_CaretType>` **CARET_TYPE_BLOCK** = ``1``
  738. Block caret.
  739. .. rst-class:: classref-item-separator
  740. ----
  741. .. _enum_TextEdit_SelectionMode:
  742. .. rst-class:: classref-enumeration
  743. enum **SelectionMode**: :ref:`🔗<enum_TextEdit_SelectionMode>`
  744. .. _class_TextEdit_constant_SELECTION_MODE_NONE:
  745. .. rst-class:: classref-enumeration-constant
  746. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_NONE** = ``0``
  747. Not selecting.
  748. .. _class_TextEdit_constant_SELECTION_MODE_SHIFT:
  749. .. rst-class:: classref-enumeration-constant
  750. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_SHIFT** = ``1``
  751. Select as if ``shift`` is pressed.
  752. .. _class_TextEdit_constant_SELECTION_MODE_POINTER:
  753. .. rst-class:: classref-enumeration-constant
  754. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_POINTER** = ``2``
  755. Select single characters as if the user single clicked.
  756. .. _class_TextEdit_constant_SELECTION_MODE_WORD:
  757. .. rst-class:: classref-enumeration-constant
  758. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_WORD** = ``3``
  759. Select whole words as if the user double clicked.
  760. .. _class_TextEdit_constant_SELECTION_MODE_LINE:
  761. .. rst-class:: classref-enumeration-constant
  762. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_LINE** = ``4``
  763. Select whole lines as if the user triple clicked.
  764. .. rst-class:: classref-item-separator
  765. ----
  766. .. _enum_TextEdit_LineWrappingMode:
  767. .. rst-class:: classref-enumeration
  768. enum **LineWrappingMode**: :ref:`🔗<enum_TextEdit_LineWrappingMode>`
  769. .. _class_TextEdit_constant_LINE_WRAPPING_NONE:
  770. .. rst-class:: classref-enumeration-constant
  771. :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` **LINE_WRAPPING_NONE** = ``0``
  772. Line wrapping is disabled.
  773. .. _class_TextEdit_constant_LINE_WRAPPING_BOUNDARY:
  774. .. rst-class:: classref-enumeration-constant
  775. :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` **LINE_WRAPPING_BOUNDARY** = ``1``
  776. Line wrapping occurs at the control boundary, beyond what would normally be visible.
  777. .. rst-class:: classref-item-separator
  778. ----
  779. .. _enum_TextEdit_GutterType:
  780. .. rst-class:: classref-enumeration
  781. enum **GutterType**: :ref:`🔗<enum_TextEdit_GutterType>`
  782. .. _class_TextEdit_constant_GUTTER_TYPE_STRING:
  783. .. rst-class:: classref-enumeration-constant
  784. :ref:`GutterType<enum_TextEdit_GutterType>` **GUTTER_TYPE_STRING** = ``0``
  785. 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.
  786. .. _class_TextEdit_constant_GUTTER_TYPE_ICON:
  787. .. rst-class:: classref-enumeration-constant
  788. :ref:`GutterType<enum_TextEdit_GutterType>` **GUTTER_TYPE_ICON** = ``1``
  789. 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.
  790. .. _class_TextEdit_constant_GUTTER_TYPE_CUSTOM:
  791. .. rst-class:: classref-enumeration-constant
  792. :ref:`GutterType<enum_TextEdit_GutterType>` **GUTTER_TYPE_CUSTOM** = ``2``
  793. 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.
  794. .. rst-class:: classref-section-separator
  795. ----
  796. .. rst-class:: classref-descriptions-group
  797. Property Descriptions
  798. ---------------------
  799. .. _class_TextEdit_property_autowrap_mode:
  800. .. rst-class:: classref-property
  801. :ref:`AutowrapMode<enum_TextServer_AutowrapMode>` **autowrap_mode** = ``3`` :ref:`🔗<class_TextEdit_property_autowrap_mode>`
  802. .. rst-class:: classref-property-setget
  803. - |void| **set_autowrap_mode**\ (\ value\: :ref:`AutowrapMode<enum_TextServer_AutowrapMode>`\ )
  804. - :ref:`AutowrapMode<enum_TextServer_AutowrapMode>` **get_autowrap_mode**\ (\ )
  805. 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>`.
  806. .. rst-class:: classref-item-separator
  807. ----
  808. .. _class_TextEdit_property_backspace_deletes_composite_character_enabled:
  809. .. rst-class:: classref-property
  810. :ref:`bool<class_bool>` **backspace_deletes_composite_character_enabled** = ``false`` :ref:`🔗<class_TextEdit_property_backspace_deletes_composite_character_enabled>`
  811. .. rst-class:: classref-property-setget
  812. - |void| **set_backspace_deletes_composite_character_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  813. - :ref:`bool<class_bool>` **is_backspace_deletes_composite_character_enabled**\ (\ )
  814. If ``true`` and :ref:`caret_mid_grapheme<class_TextEdit_property_caret_mid_grapheme>` is ``false``, backspace deletes an entire composite character such as ❤️‍🩹, instead of deleting part of the composite character.
  815. .. rst-class:: classref-item-separator
  816. ----
  817. .. _class_TextEdit_property_caret_blink:
  818. .. rst-class:: classref-property
  819. :ref:`bool<class_bool>` **caret_blink** = ``false`` :ref:`🔗<class_TextEdit_property_caret_blink>`
  820. .. rst-class:: classref-property-setget
  821. - |void| **set_caret_blink_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  822. - :ref:`bool<class_bool>` **is_caret_blink_enabled**\ (\ )
  823. If ``true``, makes the caret blink.
  824. .. rst-class:: classref-item-separator
  825. ----
  826. .. _class_TextEdit_property_caret_blink_interval:
  827. .. rst-class:: classref-property
  828. :ref:`float<class_float>` **caret_blink_interval** = ``0.65`` :ref:`🔗<class_TextEdit_property_caret_blink_interval>`
  829. .. rst-class:: classref-property-setget
  830. - |void| **set_caret_blink_interval**\ (\ value\: :ref:`float<class_float>`\ )
  831. - :ref:`float<class_float>` **get_caret_blink_interval**\ (\ )
  832. The interval at which the caret blinks (in seconds).
  833. .. rst-class:: classref-item-separator
  834. ----
  835. .. _class_TextEdit_property_caret_draw_when_editable_disabled:
  836. .. rst-class:: classref-property
  837. :ref:`bool<class_bool>` **caret_draw_when_editable_disabled** = ``false`` :ref:`🔗<class_TextEdit_property_caret_draw_when_editable_disabled>`
  838. .. rst-class:: classref-property-setget
  839. - |void| **set_draw_caret_when_editable_disabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  840. - :ref:`bool<class_bool>` **is_drawing_caret_when_editable_disabled**\ (\ )
  841. If ``true``, caret will be visible when :ref:`editable<class_TextEdit_property_editable>` is disabled.
  842. .. rst-class:: classref-item-separator
  843. ----
  844. .. _class_TextEdit_property_caret_mid_grapheme:
  845. .. rst-class:: classref-property
  846. :ref:`bool<class_bool>` **caret_mid_grapheme** = ``false`` :ref:`🔗<class_TextEdit_property_caret_mid_grapheme>`
  847. .. rst-class:: classref-property-setget
  848. - |void| **set_caret_mid_grapheme_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  849. - :ref:`bool<class_bool>` **is_caret_mid_grapheme_enabled**\ (\ )
  850. Allow moving caret, selecting and removing the individual composite character components.
  851. \ **Note:** :kbd:`Backspace` is always removing individual composite character components.
  852. .. rst-class:: classref-item-separator
  853. ----
  854. .. _class_TextEdit_property_caret_move_on_right_click:
  855. .. rst-class:: classref-property
  856. :ref:`bool<class_bool>` **caret_move_on_right_click** = ``true`` :ref:`🔗<class_TextEdit_property_caret_move_on_right_click>`
  857. .. rst-class:: classref-property-setget
  858. - |void| **set_move_caret_on_right_click_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  859. - :ref:`bool<class_bool>` **is_move_caret_on_right_click_enabled**\ (\ )
  860. If ``true``, a right-click moves the caret at the mouse position before displaying the context menu.
  861. If ``false``, the context menu ignores mouse location.
  862. .. rst-class:: classref-item-separator
  863. ----
  864. .. _class_TextEdit_property_caret_multiple:
  865. .. rst-class:: classref-property
  866. :ref:`bool<class_bool>` **caret_multiple** = ``true`` :ref:`🔗<class_TextEdit_property_caret_multiple>`
  867. .. rst-class:: classref-property-setget
  868. - |void| **set_multiple_carets_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  869. - :ref:`bool<class_bool>` **is_multiple_carets_enabled**\ (\ )
  870. 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>`.
  871. .. rst-class:: classref-item-separator
  872. ----
  873. .. _class_TextEdit_property_caret_type:
  874. .. rst-class:: classref-property
  875. :ref:`CaretType<enum_TextEdit_CaretType>` **caret_type** = ``0`` :ref:`🔗<class_TextEdit_property_caret_type>`
  876. .. rst-class:: classref-property-setget
  877. - |void| **set_caret_type**\ (\ value\: :ref:`CaretType<enum_TextEdit_CaretType>`\ )
  878. - :ref:`CaretType<enum_TextEdit_CaretType>` **get_caret_type**\ (\ )
  879. Set the type of caret to draw.
  880. .. rst-class:: classref-item-separator
  881. ----
  882. .. _class_TextEdit_property_context_menu_enabled:
  883. .. rst-class:: classref-property
  884. :ref:`bool<class_bool>` **context_menu_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_context_menu_enabled>`
  885. .. rst-class:: classref-property-setget
  886. - |void| **set_context_menu_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  887. - :ref:`bool<class_bool>` **is_context_menu_enabled**\ (\ )
  888. If ``true``, a right-click displays the context menu.
  889. .. rst-class:: classref-item-separator
  890. ----
  891. .. _class_TextEdit_property_custom_word_separators:
  892. .. rst-class:: classref-property
  893. :ref:`String<class_String>` **custom_word_separators** = ``""`` :ref:`🔗<class_TextEdit_property_custom_word_separators>`
  894. .. rst-class:: classref-property-setget
  895. - |void| **set_custom_word_separators**\ (\ value\: :ref:`String<class_String>`\ )
  896. - :ref:`String<class_String>` **get_custom_word_separators**\ (\ )
  897. 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 ``#_!``.
  898. .. rst-class:: classref-item-separator
  899. ----
  900. .. _class_TextEdit_property_deselect_on_focus_loss_enabled:
  901. .. rst-class:: classref-property
  902. :ref:`bool<class_bool>` **deselect_on_focus_loss_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_deselect_on_focus_loss_enabled>`
  903. .. rst-class:: classref-property-setget
  904. - |void| **set_deselect_on_focus_loss_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  905. - :ref:`bool<class_bool>` **is_deselect_on_focus_loss_enabled**\ (\ )
  906. If ``true``, the selected text will be deselected when focus is lost.
  907. .. rst-class:: classref-item-separator
  908. ----
  909. .. _class_TextEdit_property_drag_and_drop_selection_enabled:
  910. .. rst-class:: classref-property
  911. :ref:`bool<class_bool>` **drag_and_drop_selection_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_drag_and_drop_selection_enabled>`
  912. .. rst-class:: classref-property-setget
  913. - |void| **set_drag_and_drop_selection_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  914. - :ref:`bool<class_bool>` **is_drag_and_drop_selection_enabled**\ (\ )
  915. If ``true``, allow drag and drop of selected text. Text can still be dropped from other sources.
  916. .. rst-class:: classref-item-separator
  917. ----
  918. .. _class_TextEdit_property_draw_control_chars:
  919. .. rst-class:: classref-property
  920. :ref:`bool<class_bool>` **draw_control_chars** = ``false`` :ref:`🔗<class_TextEdit_property_draw_control_chars>`
  921. .. rst-class:: classref-property-setget
  922. - |void| **set_draw_control_chars**\ (\ value\: :ref:`bool<class_bool>`\ )
  923. - :ref:`bool<class_bool>` **get_draw_control_chars**\ (\ )
  924. If ``true``, control characters are displayed.
  925. .. rst-class:: classref-item-separator
  926. ----
  927. .. _class_TextEdit_property_draw_spaces:
  928. .. rst-class:: classref-property
  929. :ref:`bool<class_bool>` **draw_spaces** = ``false`` :ref:`🔗<class_TextEdit_property_draw_spaces>`
  930. .. rst-class:: classref-property-setget
  931. - |void| **set_draw_spaces**\ (\ value\: :ref:`bool<class_bool>`\ )
  932. - :ref:`bool<class_bool>` **is_drawing_spaces**\ (\ )
  933. If ``true``, the "space" character will have a visible representation.
  934. .. rst-class:: classref-item-separator
  935. ----
  936. .. _class_TextEdit_property_draw_tabs:
  937. .. rst-class:: classref-property
  938. :ref:`bool<class_bool>` **draw_tabs** = ``false`` :ref:`🔗<class_TextEdit_property_draw_tabs>`
  939. .. rst-class:: classref-property-setget
  940. - |void| **set_draw_tabs**\ (\ value\: :ref:`bool<class_bool>`\ )
  941. - :ref:`bool<class_bool>` **is_drawing_tabs**\ (\ )
  942. If ``true``, the "tab" character will have a visible representation.
  943. .. rst-class:: classref-item-separator
  944. ----
  945. .. _class_TextEdit_property_editable:
  946. .. rst-class:: classref-property
  947. :ref:`bool<class_bool>` **editable** = ``true`` :ref:`🔗<class_TextEdit_property_editable>`
  948. .. rst-class:: classref-property-setget
  949. - |void| **set_editable**\ (\ value\: :ref:`bool<class_bool>`\ )
  950. - :ref:`bool<class_bool>` **is_editable**\ (\ )
  951. If ``false``, existing text cannot be modified and new text cannot be added.
  952. .. rst-class:: classref-item-separator
  953. ----
  954. .. _class_TextEdit_property_emoji_menu_enabled:
  955. .. rst-class:: classref-property
  956. :ref:`bool<class_bool>` **emoji_menu_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_emoji_menu_enabled>`
  957. .. rst-class:: classref-property-setget
  958. - |void| **set_emoji_menu_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  959. - :ref:`bool<class_bool>` **is_emoji_menu_enabled**\ (\ )
  960. If ``true``, "Emoji and Symbols" menu is enabled.
  961. .. rst-class:: classref-item-separator
  962. ----
  963. .. _class_TextEdit_property_empty_selection_clipboard_enabled:
  964. .. rst-class:: classref-property
  965. :ref:`bool<class_bool>` **empty_selection_clipboard_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_empty_selection_clipboard_enabled>`
  966. .. rst-class:: classref-property-setget
  967. - |void| **set_empty_selection_clipboard_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  968. - :ref:`bool<class_bool>` **is_empty_selection_clipboard_enabled**\ (\ )
  969. If ``true``, copying or cutting without a selection is performed on all lines with a caret. Otherwise, copy and cut require a selection.
  970. .. rst-class:: classref-item-separator
  971. ----
  972. .. _class_TextEdit_property_highlight_all_occurrences:
  973. .. rst-class:: classref-property
  974. :ref:`bool<class_bool>` **highlight_all_occurrences** = ``false`` :ref:`🔗<class_TextEdit_property_highlight_all_occurrences>`
  975. .. rst-class:: classref-property-setget
  976. - |void| **set_highlight_all_occurrences**\ (\ value\: :ref:`bool<class_bool>`\ )
  977. - :ref:`bool<class_bool>` **is_highlight_all_occurrences_enabled**\ (\ )
  978. If ``true``, all occurrences of the selected text will be highlighted.
  979. .. rst-class:: classref-item-separator
  980. ----
  981. .. _class_TextEdit_property_highlight_current_line:
  982. .. rst-class:: classref-property
  983. :ref:`bool<class_bool>` **highlight_current_line** = ``false`` :ref:`🔗<class_TextEdit_property_highlight_current_line>`
  984. .. rst-class:: classref-property-setget
  985. - |void| **set_highlight_current_line**\ (\ value\: :ref:`bool<class_bool>`\ )
  986. - :ref:`bool<class_bool>` **is_highlight_current_line_enabled**\ (\ )
  987. If ``true``, the line containing the cursor is highlighted.
  988. .. rst-class:: classref-item-separator
  989. ----
  990. .. _class_TextEdit_property_indent_wrapped_lines:
  991. .. rst-class:: classref-property
  992. :ref:`bool<class_bool>` **indent_wrapped_lines** = ``false`` :ref:`🔗<class_TextEdit_property_indent_wrapped_lines>`
  993. .. rst-class:: classref-property-setget
  994. - |void| **set_indent_wrapped_lines**\ (\ value\: :ref:`bool<class_bool>`\ )
  995. - :ref:`bool<class_bool>` **is_indent_wrapped_lines**\ (\ )
  996. If ``true``, all wrapped lines are indented to the same amount as the unwrapped line.
  997. .. rst-class:: classref-item-separator
  998. ----
  999. .. _class_TextEdit_property_language:
  1000. .. rst-class:: classref-property
  1001. :ref:`String<class_String>` **language** = ``""`` :ref:`🔗<class_TextEdit_property_language>`
  1002. .. rst-class:: classref-property-setget
  1003. - |void| **set_language**\ (\ value\: :ref:`String<class_String>`\ )
  1004. - :ref:`String<class_String>` **get_language**\ (\ )
  1005. Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
  1006. .. rst-class:: classref-item-separator
  1007. ----
  1008. .. _class_TextEdit_property_middle_mouse_paste_enabled:
  1009. .. rst-class:: classref-property
  1010. :ref:`bool<class_bool>` **middle_mouse_paste_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_middle_mouse_paste_enabled>`
  1011. .. rst-class:: classref-property-setget
  1012. - |void| **set_middle_mouse_paste_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1013. - :ref:`bool<class_bool>` **is_middle_mouse_paste_enabled**\ (\ )
  1014. If ``false``, using middle mouse button to paste clipboard will be disabled.
  1015. \ **Note:** This method is only implemented on Linux.
  1016. .. rst-class:: classref-item-separator
  1017. ----
  1018. .. _class_TextEdit_property_minimap_draw:
  1019. .. rst-class:: classref-property
  1020. :ref:`bool<class_bool>` **minimap_draw** = ``false`` :ref:`🔗<class_TextEdit_property_minimap_draw>`
  1021. .. rst-class:: classref-property-setget
  1022. - |void| **set_draw_minimap**\ (\ value\: :ref:`bool<class_bool>`\ )
  1023. - :ref:`bool<class_bool>` **is_drawing_minimap**\ (\ )
  1024. If ``true``, a minimap is shown, providing an outline of your source code. The minimap uses a fixed-width text size.
  1025. .. rst-class:: classref-item-separator
  1026. ----
  1027. .. _class_TextEdit_property_minimap_width:
  1028. .. rst-class:: classref-property
  1029. :ref:`int<class_int>` **minimap_width** = ``80`` :ref:`🔗<class_TextEdit_property_minimap_width>`
  1030. .. rst-class:: classref-property-setget
  1031. - |void| **set_minimap_width**\ (\ value\: :ref:`int<class_int>`\ )
  1032. - :ref:`int<class_int>` **get_minimap_width**\ (\ )
  1033. The width, in pixels, of the minimap.
  1034. .. rst-class:: classref-item-separator
  1035. ----
  1036. .. _class_TextEdit_property_placeholder_text:
  1037. .. rst-class:: classref-property
  1038. :ref:`String<class_String>` **placeholder_text** = ``""`` :ref:`🔗<class_TextEdit_property_placeholder_text>`
  1039. .. rst-class:: classref-property-setget
  1040. - |void| **set_placeholder**\ (\ value\: :ref:`String<class_String>`\ )
  1041. - :ref:`String<class_String>` **get_placeholder**\ (\ )
  1042. Text shown when the **TextEdit** is empty. It is **not** the **TextEdit**'s default value (see :ref:`text<class_TextEdit_property_text>`).
  1043. .. rst-class:: classref-item-separator
  1044. ----
  1045. .. _class_TextEdit_property_scroll_fit_content_height:
  1046. .. rst-class:: classref-property
  1047. :ref:`bool<class_bool>` **scroll_fit_content_height** = ``false`` :ref:`🔗<class_TextEdit_property_scroll_fit_content_height>`
  1048. .. rst-class:: classref-property-setget
  1049. - |void| **set_fit_content_height_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1050. - :ref:`bool<class_bool>` **is_fit_content_height_enabled**\ (\ )
  1051. 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.
  1052. .. rst-class:: classref-item-separator
  1053. ----
  1054. .. _class_TextEdit_property_scroll_fit_content_width:
  1055. .. rst-class:: classref-property
  1056. :ref:`bool<class_bool>` **scroll_fit_content_width** = ``false`` :ref:`🔗<class_TextEdit_property_scroll_fit_content_width>`
  1057. .. rst-class:: classref-property-setget
  1058. - |void| **set_fit_content_width_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1059. - :ref:`bool<class_bool>` **is_fit_content_width_enabled**\ (\ )
  1060. 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.
  1061. .. rst-class:: classref-item-separator
  1062. ----
  1063. .. _class_TextEdit_property_scroll_horizontal:
  1064. .. rst-class:: classref-property
  1065. :ref:`int<class_int>` **scroll_horizontal** = ``0`` :ref:`🔗<class_TextEdit_property_scroll_horizontal>`
  1066. .. rst-class:: classref-property-setget
  1067. - |void| **set_h_scroll**\ (\ value\: :ref:`int<class_int>`\ )
  1068. - :ref:`int<class_int>` **get_h_scroll**\ (\ )
  1069. If there is a horizontal scrollbar, this determines the current horizontal scroll value in pixels.
  1070. .. rst-class:: classref-item-separator
  1071. ----
  1072. .. _class_TextEdit_property_scroll_past_end_of_file:
  1073. .. rst-class:: classref-property
  1074. :ref:`bool<class_bool>` **scroll_past_end_of_file** = ``false`` :ref:`🔗<class_TextEdit_property_scroll_past_end_of_file>`
  1075. .. rst-class:: classref-property-setget
  1076. - |void| **set_scroll_past_end_of_file_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1077. - :ref:`bool<class_bool>` **is_scroll_past_end_of_file_enabled**\ (\ )
  1078. Allow scrolling past the last line into "virtual" space.
  1079. .. rst-class:: classref-item-separator
  1080. ----
  1081. .. _class_TextEdit_property_scroll_smooth:
  1082. .. rst-class:: classref-property
  1083. :ref:`bool<class_bool>` **scroll_smooth** = ``false`` :ref:`🔗<class_TextEdit_property_scroll_smooth>`
  1084. .. rst-class:: classref-property-setget
  1085. - |void| **set_smooth_scroll_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1086. - :ref:`bool<class_bool>` **is_smooth_scroll_enabled**\ (\ )
  1087. Scroll smoothly over the text rather than jumping to the next location.
  1088. .. rst-class:: classref-item-separator
  1089. ----
  1090. .. _class_TextEdit_property_scroll_v_scroll_speed:
  1091. .. rst-class:: classref-property
  1092. :ref:`float<class_float>` **scroll_v_scroll_speed** = ``80.0`` :ref:`🔗<class_TextEdit_property_scroll_v_scroll_speed>`
  1093. .. rst-class:: classref-property-setget
  1094. - |void| **set_v_scroll_speed**\ (\ value\: :ref:`float<class_float>`\ )
  1095. - :ref:`float<class_float>` **get_v_scroll_speed**\ (\ )
  1096. Sets the scroll speed with the minimap or when :ref:`scroll_smooth<class_TextEdit_property_scroll_smooth>` is enabled.
  1097. .. rst-class:: classref-item-separator
  1098. ----
  1099. .. _class_TextEdit_property_scroll_vertical:
  1100. .. rst-class:: classref-property
  1101. :ref:`float<class_float>` **scroll_vertical** = ``0.0`` :ref:`🔗<class_TextEdit_property_scroll_vertical>`
  1102. .. rst-class:: classref-property-setget
  1103. - |void| **set_v_scroll**\ (\ value\: :ref:`float<class_float>`\ )
  1104. - :ref:`float<class_float>` **get_v_scroll**\ (\ )
  1105. If there is a vertical scrollbar, this determines the current vertical scroll value in line numbers, starting at 0 for the top line.
  1106. .. rst-class:: classref-item-separator
  1107. ----
  1108. .. _class_TextEdit_property_selecting_enabled:
  1109. .. rst-class:: classref-property
  1110. :ref:`bool<class_bool>` **selecting_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_selecting_enabled>`
  1111. .. rst-class:: classref-property-setget
  1112. - |void| **set_selecting_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1113. - :ref:`bool<class_bool>` **is_selecting_enabled**\ (\ )
  1114. If ``true``, text can be selected.
  1115. 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.
  1116. .. rst-class:: classref-item-separator
  1117. ----
  1118. .. _class_TextEdit_property_shortcut_keys_enabled:
  1119. .. rst-class:: classref-property
  1120. :ref:`bool<class_bool>` **shortcut_keys_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_shortcut_keys_enabled>`
  1121. .. rst-class:: classref-property-setget
  1122. - |void| **set_shortcut_keys_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1123. - :ref:`bool<class_bool>` **is_shortcut_keys_enabled**\ (\ )
  1124. If ``true``, shortcut keys for context menu items are enabled, even if the context menu is disabled.
  1125. .. rst-class:: classref-item-separator
  1126. ----
  1127. .. _class_TextEdit_property_structured_text_bidi_override:
  1128. .. rst-class:: classref-property
  1129. :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` **structured_text_bidi_override** = ``0`` :ref:`🔗<class_TextEdit_property_structured_text_bidi_override>`
  1130. .. rst-class:: classref-property-setget
  1131. - |void| **set_structured_text_bidi_override**\ (\ value\: :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>`\ )
  1132. - :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` **get_structured_text_bidi_override**\ (\ )
  1133. Set BiDi algorithm override for the structured text.
  1134. .. rst-class:: classref-item-separator
  1135. ----
  1136. .. _class_TextEdit_property_structured_text_bidi_override_options:
  1137. .. rst-class:: classref-property
  1138. :ref:`Array<class_Array>` **structured_text_bidi_override_options** = ``[]`` :ref:`🔗<class_TextEdit_property_structured_text_bidi_override_options>`
  1139. .. rst-class:: classref-property-setget
  1140. - |void| **set_structured_text_bidi_override_options**\ (\ value\: :ref:`Array<class_Array>`\ )
  1141. - :ref:`Array<class_Array>` **get_structured_text_bidi_override_options**\ (\ )
  1142. Set additional options for BiDi override.
  1143. .. rst-class:: classref-item-separator
  1144. ----
  1145. .. _class_TextEdit_property_syntax_highlighter:
  1146. .. rst-class:: classref-property
  1147. :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` **syntax_highlighter** :ref:`🔗<class_TextEdit_property_syntax_highlighter>`
  1148. .. rst-class:: classref-property-setget
  1149. - |void| **set_syntax_highlighter**\ (\ value\: :ref:`SyntaxHighlighter<class_SyntaxHighlighter>`\ )
  1150. - :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` **get_syntax_highlighter**\ (\ )
  1151. The syntax highlighter to use.
  1152. \ **Note:** A :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` instance should not be used across multiple **TextEdit** nodes.
  1153. .. rst-class:: classref-item-separator
  1154. ----
  1155. .. _class_TextEdit_property_tab_input_mode:
  1156. .. rst-class:: classref-property
  1157. :ref:`bool<class_bool>` **tab_input_mode** = ``true`` :ref:`🔗<class_TextEdit_property_tab_input_mode>`
  1158. .. rst-class:: classref-property-setget
  1159. - |void| **set_tab_input_mode**\ (\ value\: :ref:`bool<class_bool>`\ )
  1160. - :ref:`bool<class_bool>` **get_tab_input_mode**\ (\ )
  1161. If ``true``, :ref:`ProjectSettings.input/ui_text_indent<class_ProjectSettings_property_input/ui_text_indent>` input ``Tab`` character, otherwise it moves keyboard focus to the next :ref:`Control<class_Control>` in the scene.
  1162. .. rst-class:: classref-item-separator
  1163. ----
  1164. .. _class_TextEdit_property_text:
  1165. .. rst-class:: classref-property
  1166. :ref:`String<class_String>` **text** = ``""`` :ref:`🔗<class_TextEdit_property_text>`
  1167. .. rst-class:: classref-property-setget
  1168. - |void| **set_text**\ (\ value\: :ref:`String<class_String>`\ )
  1169. - :ref:`String<class_String>` **get_text**\ (\ )
  1170. String value of the **TextEdit**.
  1171. .. rst-class:: classref-item-separator
  1172. ----
  1173. .. _class_TextEdit_property_text_direction:
  1174. .. rst-class:: classref-property
  1175. :ref:`TextDirection<enum_Control_TextDirection>` **text_direction** = ``0`` :ref:`🔗<class_TextEdit_property_text_direction>`
  1176. .. rst-class:: classref-property-setget
  1177. - |void| **set_text_direction**\ (\ value\: :ref:`TextDirection<enum_Control_TextDirection>`\ )
  1178. - :ref:`TextDirection<enum_Control_TextDirection>` **get_text_direction**\ (\ )
  1179. Base text writing direction.
  1180. .. rst-class:: classref-item-separator
  1181. ----
  1182. .. _class_TextEdit_property_use_custom_word_separators:
  1183. .. rst-class:: classref-property
  1184. :ref:`bool<class_bool>` **use_custom_word_separators** = ``false`` :ref:`🔗<class_TextEdit_property_use_custom_word_separators>`
  1185. .. rst-class:: classref-property-setget
  1186. - |void| **set_use_custom_word_separators**\ (\ value\: :ref:`bool<class_bool>`\ )
  1187. - :ref:`bool<class_bool>` **is_custom_word_separators_enabled**\ (\ )
  1188. 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.
  1189. .. rst-class:: classref-item-separator
  1190. ----
  1191. .. _class_TextEdit_property_use_default_word_separators:
  1192. .. rst-class:: classref-property
  1193. :ref:`bool<class_bool>` **use_default_word_separators** = ``true`` :ref:`🔗<class_TextEdit_property_use_default_word_separators>`
  1194. .. rst-class:: classref-property-setget
  1195. - |void| **set_use_default_word_separators**\ (\ value\: :ref:`bool<class_bool>`\ )
  1196. - :ref:`bool<class_bool>` **is_default_word_separators_enabled**\ (\ )
  1197. 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.
  1198. .. rst-class:: classref-item-separator
  1199. ----
  1200. .. _class_TextEdit_property_virtual_keyboard_enabled:
  1201. .. rst-class:: classref-property
  1202. :ref:`bool<class_bool>` **virtual_keyboard_enabled** = ``true`` :ref:`🔗<class_TextEdit_property_virtual_keyboard_enabled>`
  1203. .. rst-class:: classref-property-setget
  1204. - |void| **set_virtual_keyboard_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
  1205. - :ref:`bool<class_bool>` **is_virtual_keyboard_enabled**\ (\ )
  1206. If ``true``, the native virtual keyboard is shown when focused on platforms that support it.
  1207. .. rst-class:: classref-item-separator
  1208. ----
  1209. .. _class_TextEdit_property_wrap_mode:
  1210. .. rst-class:: classref-property
  1211. :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` **wrap_mode** = ``0`` :ref:`🔗<class_TextEdit_property_wrap_mode>`
  1212. .. rst-class:: classref-property-setget
  1213. - |void| **set_line_wrapping_mode**\ (\ value\: :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>`\ )
  1214. - :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` **get_line_wrapping_mode**\ (\ )
  1215. Sets the line wrapping mode to use.
  1216. .. rst-class:: classref-section-separator
  1217. ----
  1218. .. rst-class:: classref-descriptions-group
  1219. Method Descriptions
  1220. -------------------
  1221. .. _class_TextEdit_private_method__backspace:
  1222. .. rst-class:: classref-method
  1223. |void| **_backspace**\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__backspace>`
  1224. Override this method to define what happens when the user presses the backspace key.
  1225. .. rst-class:: classref-item-separator
  1226. ----
  1227. .. _class_TextEdit_private_method__copy:
  1228. .. rst-class:: classref-method
  1229. |void| **_copy**\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__copy>`
  1230. Override this method to define what happens when the user performs a copy operation.
  1231. .. rst-class:: classref-item-separator
  1232. ----
  1233. .. _class_TextEdit_private_method__cut:
  1234. .. rst-class:: classref-method
  1235. |void| **_cut**\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__cut>`
  1236. Override this method to define what happens when the user performs a cut operation.
  1237. .. rst-class:: classref-item-separator
  1238. ----
  1239. .. _class_TextEdit_private_method__handle_unicode_input:
  1240. .. rst-class:: classref-method
  1241. |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>`
  1242. Override this method to define what happens when the user types in the provided key ``unicode_char``.
  1243. .. rst-class:: classref-item-separator
  1244. ----
  1245. .. _class_TextEdit_private_method__paste:
  1246. .. rst-class:: classref-method
  1247. |void| **_paste**\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__paste>`
  1248. Override this method to define what happens when the user performs a paste operation.
  1249. .. rst-class:: classref-item-separator
  1250. ----
  1251. .. _class_TextEdit_private_method__paste_primary_clipboard:
  1252. .. rst-class:: classref-method
  1253. |void| **_paste_primary_clipboard**\ (\ caret_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextEdit_private_method__paste_primary_clipboard>`
  1254. Override this method to define what happens when the user performs a paste operation with middle mouse button.
  1255. \ **Note:** This method is only implemented on Linux.
  1256. .. rst-class:: classref-item-separator
  1257. ----
  1258. .. _class_TextEdit_method_add_caret:
  1259. .. rst-class:: classref-method
  1260. :ref:`int<class_int>` **add_caret**\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_add_caret>`
  1261. Adds a new caret at the given location. Returns the index of the new caret, or ``-1`` if the location is invalid.
  1262. .. rst-class:: classref-item-separator
  1263. ----
  1264. .. _class_TextEdit_method_add_caret_at_carets:
  1265. .. rst-class:: classref-method
  1266. |void| **add_caret_at_carets**\ (\ below\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_add_caret_at_carets>`
  1267. Adds an additional caret above or below every caret. If ``below`` is ``true`` the new caret will be added below and above otherwise.
  1268. .. rst-class:: classref-item-separator
  1269. ----
  1270. .. _class_TextEdit_method_add_gutter:
  1271. .. rst-class:: classref-method
  1272. |void| **add_gutter**\ (\ at\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_add_gutter>`
  1273. 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.
  1274. .. rst-class:: classref-item-separator
  1275. ----
  1276. .. _class_TextEdit_method_add_selection_for_next_occurrence:
  1277. .. rst-class:: classref-method
  1278. |void| **add_selection_for_next_occurrence**\ (\ ) :ref:`🔗<class_TextEdit_method_add_selection_for_next_occurrence>`
  1279. Adds a selection and a caret for the next occurrence of the current selection. If there is no active selection, selects word under caret.
  1280. .. rst-class:: classref-item-separator
  1281. ----
  1282. .. _class_TextEdit_method_adjust_carets_after_edit:
  1283. .. rst-class:: classref-method
  1284. |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>`
  1285. **Deprecated:** No longer necessary since methods now adjust carets themselves.
  1286. This method does nothing.
  1287. .. rst-class:: classref-item-separator
  1288. ----
  1289. .. _class_TextEdit_method_adjust_viewport_to_caret:
  1290. .. rst-class:: classref-method
  1291. |void| **adjust_viewport_to_caret**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_adjust_viewport_to_caret>`
  1292. Adjust the viewport so the caret is visible.
  1293. .. rst-class:: classref-item-separator
  1294. ----
  1295. .. _class_TextEdit_method_apply_ime:
  1296. .. rst-class:: classref-method
  1297. |void| **apply_ime**\ (\ ) :ref:`🔗<class_TextEdit_method_apply_ime>`
  1298. 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.
  1299. .. rst-class:: classref-item-separator
  1300. ----
  1301. .. _class_TextEdit_method_backspace:
  1302. .. rst-class:: classref-method
  1303. |void| **backspace**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_backspace>`
  1304. Called when the user presses the backspace key. Can be overridden with :ref:`_backspace()<class_TextEdit_private_method__backspace>`.
  1305. .. rst-class:: classref-item-separator
  1306. ----
  1307. .. _class_TextEdit_method_begin_complex_operation:
  1308. .. rst-class:: classref-method
  1309. |void| **begin_complex_operation**\ (\ ) :ref:`🔗<class_TextEdit_method_begin_complex_operation>`
  1310. 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.
  1311. .. rst-class:: classref-item-separator
  1312. ----
  1313. .. _class_TextEdit_method_begin_multicaret_edit:
  1314. .. rst-class:: classref-method
  1315. |void| **begin_multicaret_edit**\ (\ ) :ref:`🔗<class_TextEdit_method_begin_multicaret_edit>`
  1316. 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>`.
  1317. ::
  1318. begin_complex_operation()
  1319. begin_multicaret_edit()
  1320. for i in range(get_caret_count()):
  1321. if multicaret_edit_ignore_caret(i):
  1322. continue
  1323. # Logic here.
  1324. end_multicaret_edit()
  1325. end_complex_operation()
  1326. .. rst-class:: classref-item-separator
  1327. ----
  1328. .. _class_TextEdit_method_cancel_ime:
  1329. .. rst-class:: classref-method
  1330. |void| **cancel_ime**\ (\ ) :ref:`🔗<class_TextEdit_method_cancel_ime>`
  1331. 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.
  1332. .. rst-class:: classref-item-separator
  1333. ----
  1334. .. _class_TextEdit_method_center_viewport_to_caret:
  1335. .. rst-class:: classref-method
  1336. |void| **center_viewport_to_caret**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) :ref:`🔗<class_TextEdit_method_center_viewport_to_caret>`
  1337. 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``.
  1338. .. rst-class:: classref-item-separator
  1339. ----
  1340. .. _class_TextEdit_method_clear:
  1341. .. rst-class:: classref-method
  1342. |void| **clear**\ (\ ) :ref:`🔗<class_TextEdit_method_clear>`
  1343. Performs a full reset of **TextEdit**, including undo history.
  1344. .. rst-class:: classref-item-separator
  1345. ----
  1346. .. _class_TextEdit_method_clear_undo_history:
  1347. .. rst-class:: classref-method
  1348. |void| **clear_undo_history**\ (\ ) :ref:`🔗<class_TextEdit_method_clear_undo_history>`
  1349. Clears the undo history.
  1350. .. rst-class:: classref-item-separator
  1351. ----
  1352. .. _class_TextEdit_method_collapse_carets:
  1353. .. rst-class:: classref-method
  1354. |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>`
  1355. Collapse all carets in the given range to the ``from_line`` and ``from_column`` position.
  1356. \ ``inclusive`` applies to both ends.
  1357. 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>`.
  1358. \ :ref:`merge_overlapping_carets()<class_TextEdit_method_merge_overlapping_carets>` will be called if any carets were collapsed.
  1359. .. rst-class:: classref-item-separator
  1360. ----
  1361. .. _class_TextEdit_method_copy:
  1362. .. rst-class:: classref-method
  1363. |void| **copy**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_copy>`
  1364. Copies the current text selection. Can be overridden with :ref:`_copy()<class_TextEdit_private_method__copy>`.
  1365. .. rst-class:: classref-item-separator
  1366. ----
  1367. .. _class_TextEdit_method_cut:
  1368. .. rst-class:: classref-method
  1369. |void| **cut**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_cut>`
  1370. Cut's the current selection. Can be overridden with :ref:`_cut()<class_TextEdit_private_method__cut>`.
  1371. .. rst-class:: classref-item-separator
  1372. ----
  1373. .. _class_TextEdit_method_delete_selection:
  1374. .. rst-class:: classref-method
  1375. |void| **delete_selection**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_delete_selection>`
  1376. Deletes the selected text.
  1377. .. rst-class:: classref-item-separator
  1378. ----
  1379. .. _class_TextEdit_method_deselect:
  1380. .. rst-class:: classref-method
  1381. |void| **deselect**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_deselect>`
  1382. Deselects the current selection.
  1383. .. rst-class:: classref-item-separator
  1384. ----
  1385. .. _class_TextEdit_method_end_action:
  1386. .. rst-class:: classref-method
  1387. |void| **end_action**\ (\ ) :ref:`🔗<class_TextEdit_method_end_action>`
  1388. Marks the end of steps in the current action started with :ref:`start_action()<class_TextEdit_method_start_action>`.
  1389. .. rst-class:: classref-item-separator
  1390. ----
  1391. .. _class_TextEdit_method_end_complex_operation:
  1392. .. rst-class:: classref-method
  1393. |void| **end_complex_operation**\ (\ ) :ref:`🔗<class_TextEdit_method_end_complex_operation>`
  1394. 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.
  1395. .. rst-class:: classref-item-separator
  1396. ----
  1397. .. _class_TextEdit_method_end_multicaret_edit:
  1398. .. rst-class:: classref-method
  1399. |void| **end_multicaret_edit**\ (\ ) :ref:`🔗<class_TextEdit_method_end_multicaret_edit>`
  1400. 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.
  1401. .. rst-class:: classref-item-separator
  1402. ----
  1403. .. _class_TextEdit_method_get_caret_column:
  1404. .. rst-class:: classref-method
  1405. :ref:`int<class_int>` **get_caret_column**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_caret_column>`
  1406. Returns the column the editing caret is at.
  1407. .. rst-class:: classref-item-separator
  1408. ----
  1409. .. _class_TextEdit_method_get_caret_count:
  1410. .. rst-class:: classref-method
  1411. :ref:`int<class_int>` **get_caret_count**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_caret_count>`
  1412. Returns the number of carets in this **TextEdit**.
  1413. .. rst-class:: classref-item-separator
  1414. ----
  1415. .. _class_TextEdit_method_get_caret_draw_pos:
  1416. .. rst-class:: classref-method
  1417. :ref:`Vector2<class_Vector2>` **get_caret_draw_pos**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_caret_draw_pos>`
  1418. Returns the caret pixel draw position.
  1419. .. rst-class:: classref-item-separator
  1420. ----
  1421. .. _class_TextEdit_method_get_caret_index_edit_order:
  1422. .. rst-class:: classref-method
  1423. :ref:`PackedInt32Array<class_PackedInt32Array>` **get_caret_index_edit_order**\ (\ ) :ref:`🔗<class_TextEdit_method_get_caret_index_edit_order>`
  1424. **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.
  1425. 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.
  1426. .. rst-class:: classref-item-separator
  1427. ----
  1428. .. _class_TextEdit_method_get_caret_line:
  1429. .. rst-class:: classref-method
  1430. :ref:`int<class_int>` **get_caret_line**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_caret_line>`
  1431. Returns the line the editing caret is on.
  1432. .. rst-class:: classref-item-separator
  1433. ----
  1434. .. _class_TextEdit_method_get_caret_wrap_index:
  1435. .. rst-class:: classref-method
  1436. :ref:`int<class_int>` **get_caret_wrap_index**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_caret_wrap_index>`
  1437. Returns the wrap index the editing caret is on.
  1438. .. rst-class:: classref-item-separator
  1439. ----
  1440. .. _class_TextEdit_method_get_first_non_whitespace_column:
  1441. .. rst-class:: classref-method
  1442. :ref:`int<class_int>` **get_first_non_whitespace_column**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_first_non_whitespace_column>`
  1443. Returns the first column containing a non-whitespace character on the given line. If there is only whitespace, returns the number of characters.
  1444. .. rst-class:: classref-item-separator
  1445. ----
  1446. .. _class_TextEdit_method_get_first_visible_line:
  1447. .. rst-class:: classref-method
  1448. :ref:`int<class_int>` **get_first_visible_line**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_first_visible_line>`
  1449. Returns the first visible line.
  1450. .. rst-class:: classref-item-separator
  1451. ----
  1452. .. _class_TextEdit_method_get_gutter_count:
  1453. .. rst-class:: classref-method
  1454. :ref:`int<class_int>` **get_gutter_count**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_gutter_count>`
  1455. Returns the number of gutters registered.
  1456. .. rst-class:: classref-item-separator
  1457. ----
  1458. .. _class_TextEdit_method_get_gutter_name:
  1459. .. rst-class:: classref-method
  1460. :ref:`String<class_String>` **get_gutter_name**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_gutter_name>`
  1461. Returns the name of the gutter at the given index.
  1462. .. rst-class:: classref-item-separator
  1463. ----
  1464. .. _class_TextEdit_method_get_gutter_type:
  1465. .. rst-class:: classref-method
  1466. :ref:`GutterType<enum_TextEdit_GutterType>` **get_gutter_type**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_gutter_type>`
  1467. 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.
  1468. .. rst-class:: classref-item-separator
  1469. ----
  1470. .. _class_TextEdit_method_get_gutter_width:
  1471. .. rst-class:: classref-method
  1472. :ref:`int<class_int>` **get_gutter_width**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_gutter_width>`
  1473. Returns the width of the gutter at the given index.
  1474. .. rst-class:: classref-item-separator
  1475. ----
  1476. .. _class_TextEdit_method_get_h_scroll_bar:
  1477. .. rst-class:: classref-method
  1478. :ref:`HScrollBar<class_HScrollBar>` **get_h_scroll_bar**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_h_scroll_bar>`
  1479. Returns the :ref:`HScrollBar<class_HScrollBar>` used by **TextEdit**.
  1480. .. rst-class:: classref-item-separator
  1481. ----
  1482. .. _class_TextEdit_method_get_indent_level:
  1483. .. rst-class:: classref-method
  1484. :ref:`int<class_int>` **get_indent_level**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_indent_level>`
  1485. 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>`).
  1486. .. rst-class:: classref-item-separator
  1487. ----
  1488. .. _class_TextEdit_method_get_last_full_visible_line:
  1489. .. rst-class:: classref-method
  1490. :ref:`int<class_int>` **get_last_full_visible_line**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_last_full_visible_line>`
  1491. 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.
  1492. .. rst-class:: classref-item-separator
  1493. ----
  1494. .. _class_TextEdit_method_get_last_full_visible_line_wrap_index:
  1495. .. rst-class:: classref-method
  1496. :ref:`int<class_int>` **get_last_full_visible_line_wrap_index**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_last_full_visible_line_wrap_index>`
  1497. Returns the last visible wrap index of the last visible line.
  1498. .. rst-class:: classref-item-separator
  1499. ----
  1500. .. _class_TextEdit_method_get_last_unhidden_line:
  1501. .. rst-class:: classref-method
  1502. :ref:`int<class_int>` **get_last_unhidden_line**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_last_unhidden_line>`
  1503. Returns the last unhidden line in the entire **TextEdit**.
  1504. .. rst-class:: classref-item-separator
  1505. ----
  1506. .. _class_TextEdit_method_get_line:
  1507. .. rst-class:: classref-method
  1508. :ref:`String<class_String>` **get_line**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line>`
  1509. Returns the text of a specific line.
  1510. .. rst-class:: classref-item-separator
  1511. ----
  1512. .. _class_TextEdit_method_get_line_background_color:
  1513. .. rst-class:: classref-method
  1514. :ref:`Color<class_Color>` **get_line_background_color**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_background_color>`
  1515. Returns the custom background color of the given line. If no color is set, returns ``Color(0, 0, 0, 0)``.
  1516. .. rst-class:: classref-item-separator
  1517. ----
  1518. .. _class_TextEdit_method_get_line_column_at_pos:
  1519. .. rst-class:: classref-method
  1520. :ref:`Vector2i<class_Vector2i>` **get_line_column_at_pos**\ (\ position\: :ref:`Vector2i<class_Vector2i>`, clamp_line\: :ref:`bool<class_bool>` = true, clamp_column\: :ref:`bool<class_bool>` = true\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_column_at_pos>`
  1521. Returns the line and column at the given position. In the returned vector, ``x`` is the column and ``y`` is the line.
  1522. If ``clamp_line`` is ``false`` and ``position`` is below the last line, ``Vector2i(-1, -1)`` is returned.
  1523. If ``clamp_column`` is ``false`` and ``position`` is outside the column range of the line, ``Vector2i(-1, -1)`` is returned.
  1524. .. rst-class:: classref-item-separator
  1525. ----
  1526. .. _class_TextEdit_method_get_line_count:
  1527. .. rst-class:: classref-method
  1528. :ref:`int<class_int>` **get_line_count**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_count>`
  1529. Returns the number of lines in the text.
  1530. .. rst-class:: classref-item-separator
  1531. ----
  1532. .. _class_TextEdit_method_get_line_gutter_icon:
  1533. .. rst-class:: classref-method
  1534. :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>`
  1535. 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>`).
  1536. .. rst-class:: classref-item-separator
  1537. ----
  1538. .. _class_TextEdit_method_get_line_gutter_item_color:
  1539. .. rst-class:: classref-method
  1540. :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>`
  1541. Returns the color currently in ``gutter`` at ``line``.
  1542. .. rst-class:: classref-item-separator
  1543. ----
  1544. .. _class_TextEdit_method_get_line_gutter_metadata:
  1545. .. rst-class:: classref-method
  1546. :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>`
  1547. Returns the metadata currently in ``gutter`` at ``line``.
  1548. .. rst-class:: classref-item-separator
  1549. ----
  1550. .. _class_TextEdit_method_get_line_gutter_text:
  1551. .. rst-class:: classref-method
  1552. :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>`
  1553. 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>`).
  1554. .. rst-class:: classref-item-separator
  1555. ----
  1556. .. _class_TextEdit_method_get_line_height:
  1557. .. rst-class:: classref-method
  1558. :ref:`int<class_int>` **get_line_height**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_height>`
  1559. Returns the maximum value of the line height among all lines.
  1560. \ **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``.
  1561. .. rst-class:: classref-item-separator
  1562. ----
  1563. .. _class_TextEdit_method_get_line_ranges_from_carets:
  1564. .. rst-class:: classref-method
  1565. :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>`
  1566. 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.
  1567. 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.
  1568. .. rst-class:: classref-item-separator
  1569. ----
  1570. .. _class_TextEdit_method_get_line_width:
  1571. .. rst-class:: classref-method
  1572. :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>`
  1573. Returns the width in pixels of the ``wrap_index`` on ``line``.
  1574. .. rst-class:: classref-item-separator
  1575. ----
  1576. .. _class_TextEdit_method_get_line_with_ime:
  1577. .. rst-class:: classref-method
  1578. :ref:`String<class_String>` **get_line_with_ime**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_with_ime>`
  1579. Returns line text as it is currently displayed, including IME composition string.
  1580. .. rst-class:: classref-item-separator
  1581. ----
  1582. .. _class_TextEdit_method_get_line_wrap_count:
  1583. .. rst-class:: classref-method
  1584. :ref:`int<class_int>` **get_line_wrap_count**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_wrap_count>`
  1585. Returns the number of times the given line is wrapped.
  1586. .. rst-class:: classref-item-separator
  1587. ----
  1588. .. _class_TextEdit_method_get_line_wrap_index_at_column:
  1589. .. rst-class:: classref-method
  1590. :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>`
  1591. 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>`.
  1592. .. rst-class:: classref-item-separator
  1593. ----
  1594. .. _class_TextEdit_method_get_line_wrapped_text:
  1595. .. rst-class:: classref-method
  1596. :ref:`PackedStringArray<class_PackedStringArray>` **get_line_wrapped_text**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_line_wrapped_text>`
  1597. Returns an array of :ref:`String<class_String>`\ s representing each wrapped index.
  1598. .. rst-class:: classref-item-separator
  1599. ----
  1600. .. _class_TextEdit_method_get_local_mouse_pos:
  1601. .. rst-class:: classref-method
  1602. :ref:`Vector2<class_Vector2>` **get_local_mouse_pos**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_local_mouse_pos>`
  1603. Returns the local mouse position adjusted for the text direction.
  1604. .. rst-class:: classref-item-separator
  1605. ----
  1606. .. _class_TextEdit_method_get_menu:
  1607. .. rst-class:: classref-method
  1608. :ref:`PopupMenu<class_PopupMenu>` **get_menu**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_menu>`
  1609. Returns the :ref:`PopupMenu<class_PopupMenu>` of this **TextEdit**. By default, this menu is displayed when right-clicking on the **TextEdit**.
  1610. 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:
  1611. .. tabs::
  1612. .. code-tab:: gdscript
  1613. func _ready():
  1614. var menu = get_menu()
  1615. # Remove all items after "Redo".
  1616. menu.item_count = menu.get_item_index(MENU_REDO) + 1
  1617. # Add custom items.
  1618. menu.add_separator()
  1619. menu.add_item("Insert Date", MENU_MAX + 1)
  1620. # Connect callback.
  1621. menu.id_pressed.connect(_on_item_pressed)
  1622. func _on_item_pressed(id):
  1623. if id == MENU_MAX + 1:
  1624. insert_text_at_caret(Time.get_date_string_from_system())
  1625. .. code-tab:: csharp
  1626. public override void _Ready()
  1627. {
  1628. var menu = GetMenu();
  1629. // Remove all items after "Redo".
  1630. menu.ItemCount = menu.GetItemIndex(TextEdit.MenuItems.Redo) + 1;
  1631. // Add custom items.
  1632. menu.AddSeparator();
  1633. menu.AddItem("Insert Date", TextEdit.MenuItems.Max + 1);
  1634. // Add event handler.
  1635. menu.IdPressed += OnItemPressed;
  1636. }
  1637. public void OnItemPressed(int id)
  1638. {
  1639. if (id == TextEdit.MenuItems.Max + 1)
  1640. {
  1641. InsertTextAtCaret(Time.GetDateStringFromSystem());
  1642. }
  1643. }
  1644. \ **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.
  1645. .. rst-class:: classref-item-separator
  1646. ----
  1647. .. _class_TextEdit_method_get_minimap_line_at_pos:
  1648. .. rst-class:: classref-method
  1649. :ref:`int<class_int>` **get_minimap_line_at_pos**\ (\ position\: :ref:`Vector2i<class_Vector2i>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_minimap_line_at_pos>`
  1650. Returns the equivalent minimap line at ``position``.
  1651. .. rst-class:: classref-item-separator
  1652. ----
  1653. .. _class_TextEdit_method_get_minimap_visible_lines:
  1654. .. rst-class:: classref-method
  1655. :ref:`int<class_int>` **get_minimap_visible_lines**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_minimap_visible_lines>`
  1656. Returns the number of lines that may be drawn on the minimap.
  1657. .. rst-class:: classref-item-separator
  1658. ----
  1659. .. _class_TextEdit_method_get_next_composite_character_column:
  1660. .. rst-class:: classref-method
  1661. :ref:`int<class_int>` **get_next_composite_character_column**\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_next_composite_character_column>`
  1662. Returns the correct column at the end of a composite character like ❤️‍🩹 (mending heart; Unicode: ``U+2764 U+FE0F U+200D U+1FA79``) which is comprised of more than one Unicode code point, if the caret is at the start of the composite character. Also returns the correct column with the caret at mid grapheme and for non-composite characters.
  1663. \ **Note:** To check at caret location use ``get_next_composite_character_column(get_caret_line(), get_caret_column())``
  1664. .. rst-class:: classref-item-separator
  1665. ----
  1666. .. _class_TextEdit_method_get_next_visible_line_index_offset_from:
  1667. .. rst-class:: classref-method
  1668. :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>`
  1669. 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.
  1670. .. rst-class:: classref-item-separator
  1671. ----
  1672. .. _class_TextEdit_method_get_next_visible_line_offset_from:
  1673. .. rst-class:: classref-method
  1674. :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>`
  1675. 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.
  1676. .. rst-class:: classref-item-separator
  1677. ----
  1678. .. _class_TextEdit_method_get_pos_at_line_column:
  1679. .. rst-class:: classref-method
  1680. :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>`
  1681. 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.
  1682. \ **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.
  1683. .. rst-class:: classref-item-separator
  1684. ----
  1685. .. _class_TextEdit_method_get_previous_composite_character_column:
  1686. .. rst-class:: classref-method
  1687. :ref:`int<class_int>` **get_previous_composite_character_column**\ (\ line\: :ref:`int<class_int>`, column\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_previous_composite_character_column>`
  1688. Returns the correct column at the start of a composite character like ❤️‍🩹 (mending heart; Unicode: ``U+2764 U+FE0F U+200D U+1FA79``) which is comprised of more than one Unicode code point, if the caret is at the end of the composite character. Also returns the correct column with the caret at mid grapheme and for non-composite characters.
  1689. \ **Note:** To check at caret location use ``get_previous_composite_character_column(get_caret_line(), get_caret_column())``
  1690. .. rst-class:: classref-item-separator
  1691. ----
  1692. .. _class_TextEdit_method_get_rect_at_line_column:
  1693. .. rst-class:: classref-method
  1694. :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>`
  1695. 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.
  1696. \ **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.
  1697. .. rst-class:: classref-item-separator
  1698. ----
  1699. .. _class_TextEdit_method_get_saved_version:
  1700. .. rst-class:: classref-method
  1701. :ref:`int<class_int>` **get_saved_version**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_saved_version>`
  1702. Returns the last tagged saved version from :ref:`tag_saved_version()<class_TextEdit_method_tag_saved_version>`.
  1703. .. rst-class:: classref-item-separator
  1704. ----
  1705. .. _class_TextEdit_method_get_scroll_pos_for_line:
  1706. .. rst-class:: classref-method
  1707. :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>`
  1708. Returns the scroll position for ``wrap_index`` of ``line``.
  1709. .. rst-class:: classref-item-separator
  1710. ----
  1711. .. _class_TextEdit_method_get_selected_text:
  1712. .. rst-class:: classref-method
  1713. :ref:`String<class_String>` **get_selected_text**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_get_selected_text>`
  1714. Returns the text inside the selection of a caret, or all the carets if ``caret_index`` is its default value ``-1``.
  1715. .. rst-class:: classref-item-separator
  1716. ----
  1717. .. _class_TextEdit_method_get_selection_at_line_column:
  1718. .. rst-class:: classref-method
  1719. :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>`
  1720. Returns the caret index of the selection at the given ``line`` and ``column``, or ``-1`` if there is none.
  1721. 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.
  1722. .. rst-class:: classref-item-separator
  1723. ----
  1724. .. _class_TextEdit_method_get_selection_column:
  1725. .. rst-class:: classref-method
  1726. :ref:`int<class_int>` **get_selection_column**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_column>`
  1727. **Deprecated:** Use :ref:`get_selection_origin_column()<class_TextEdit_method_get_selection_origin_column>` instead.
  1728. Returns the original start column of the selection.
  1729. .. rst-class:: classref-item-separator
  1730. ----
  1731. .. _class_TextEdit_method_get_selection_from_column:
  1732. .. rst-class:: classref-method
  1733. :ref:`int<class_int>` **get_selection_from_column**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_from_column>`
  1734. Returns the selection begin column. Returns the caret column if there is no selection.
  1735. .. rst-class:: classref-item-separator
  1736. ----
  1737. .. _class_TextEdit_method_get_selection_from_line:
  1738. .. rst-class:: classref-method
  1739. :ref:`int<class_int>` **get_selection_from_line**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_from_line>`
  1740. Returns the selection begin line. Returns the caret line if there is no selection.
  1741. .. rst-class:: classref-item-separator
  1742. ----
  1743. .. _class_TextEdit_method_get_selection_line:
  1744. .. rst-class:: classref-method
  1745. :ref:`int<class_int>` **get_selection_line**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_line>`
  1746. **Deprecated:** Use :ref:`get_selection_origin_line()<class_TextEdit_method_get_selection_origin_line>` instead.
  1747. Returns the original start line of the selection.
  1748. .. rst-class:: classref-item-separator
  1749. ----
  1750. .. _class_TextEdit_method_get_selection_mode:
  1751. .. rst-class:: classref-method
  1752. :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **get_selection_mode**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_mode>`
  1753. Returns the current selection mode.
  1754. .. rst-class:: classref-item-separator
  1755. ----
  1756. .. _class_TextEdit_method_get_selection_origin_column:
  1757. .. rst-class:: classref-method
  1758. :ref:`int<class_int>` **get_selection_origin_column**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_origin_column>`
  1759. Returns the origin column of the selection. This is the opposite end from the caret.
  1760. .. rst-class:: classref-item-separator
  1761. ----
  1762. .. _class_TextEdit_method_get_selection_origin_line:
  1763. .. rst-class:: classref-method
  1764. :ref:`int<class_int>` **get_selection_origin_line**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_origin_line>`
  1765. Returns the origin line of the selection. This is the opposite end from the caret.
  1766. .. rst-class:: classref-item-separator
  1767. ----
  1768. .. _class_TextEdit_method_get_selection_to_column:
  1769. .. rst-class:: classref-method
  1770. :ref:`int<class_int>` **get_selection_to_column**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_to_column>`
  1771. Returns the selection end column. Returns the caret column if there is no selection.
  1772. .. rst-class:: classref-item-separator
  1773. ----
  1774. .. _class_TextEdit_method_get_selection_to_line:
  1775. .. rst-class:: classref-method
  1776. :ref:`int<class_int>` **get_selection_to_line**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_get_selection_to_line>`
  1777. Returns the selection end line. Returns the caret line if there is no selection.
  1778. .. rst-class:: classref-item-separator
  1779. ----
  1780. .. _class_TextEdit_method_get_sorted_carets:
  1781. .. rst-class:: classref-method
  1782. :ref:`PackedInt32Array<class_PackedInt32Array>` **get_sorted_carets**\ (\ include_ignored_carets\: :ref:`bool<class_bool>` = false\ ) |const| :ref:`🔗<class_TextEdit_method_get_sorted_carets>`
  1783. Returns the carets sorted by selection beginning from lowest line and column to highest (from top to bottom of text).
  1784. If ``include_ignored_carets`` is ``false``, carets from :ref:`multicaret_edit_ignore_caret()<class_TextEdit_method_multicaret_edit_ignore_caret>` will be ignored.
  1785. .. rst-class:: classref-item-separator
  1786. ----
  1787. .. _class_TextEdit_method_get_tab_size:
  1788. .. rst-class:: classref-method
  1789. :ref:`int<class_int>` **get_tab_size**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_tab_size>`
  1790. Returns the **TextEdit**'s' tab size.
  1791. .. rst-class:: classref-item-separator
  1792. ----
  1793. .. _class_TextEdit_method_get_total_gutter_width:
  1794. .. rst-class:: classref-method
  1795. :ref:`int<class_int>` **get_total_gutter_width**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_total_gutter_width>`
  1796. Returns the total width of all gutters and internal padding.
  1797. .. rst-class:: classref-item-separator
  1798. ----
  1799. .. _class_TextEdit_method_get_total_visible_line_count:
  1800. .. rst-class:: classref-method
  1801. :ref:`int<class_int>` **get_total_visible_line_count**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_total_visible_line_count>`
  1802. 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.
  1803. .. rst-class:: classref-item-separator
  1804. ----
  1805. .. _class_TextEdit_method_get_v_scroll_bar:
  1806. .. rst-class:: classref-method
  1807. :ref:`VScrollBar<class_VScrollBar>` **get_v_scroll_bar**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_v_scroll_bar>`
  1808. Returns the :ref:`VScrollBar<class_VScrollBar>` of the **TextEdit**.
  1809. .. rst-class:: classref-item-separator
  1810. ----
  1811. .. _class_TextEdit_method_get_version:
  1812. .. rst-class:: classref-method
  1813. :ref:`int<class_int>` **get_version**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_version>`
  1814. Returns the current version of the **TextEdit**. The version is a count of recorded operations by the undo/redo history.
  1815. .. rst-class:: classref-item-separator
  1816. ----
  1817. .. _class_TextEdit_method_get_visible_line_count:
  1818. .. rst-class:: classref-method
  1819. :ref:`int<class_int>` **get_visible_line_count**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_get_visible_line_count>`
  1820. Returns the number of lines that can visually fit, rounded down, based on this control's height.
  1821. .. rst-class:: classref-item-separator
  1822. ----
  1823. .. _class_TextEdit_method_get_visible_line_count_in_range:
  1824. .. rst-class:: classref-method
  1825. :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>`
  1826. 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>`.
  1827. .. rst-class:: classref-item-separator
  1828. ----
  1829. .. _class_TextEdit_method_get_word_at_pos:
  1830. .. rst-class:: classref-method
  1831. :ref:`String<class_String>` **get_word_at_pos**\ (\ position\: :ref:`Vector2<class_Vector2>`\ ) |const| :ref:`🔗<class_TextEdit_method_get_word_at_pos>`
  1832. Returns the word at ``position``.
  1833. .. rst-class:: classref-item-separator
  1834. ----
  1835. .. _class_TextEdit_method_get_word_under_caret:
  1836. .. rst-class:: classref-method
  1837. :ref:`String<class_String>` **get_word_under_caret**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |const| :ref:`🔗<class_TextEdit_method_get_word_under_caret>`
  1838. Returns a :ref:`String<class_String>` text with the word under the caret's location.
  1839. .. rst-class:: classref-item-separator
  1840. ----
  1841. .. _class_TextEdit_method_has_ime_text:
  1842. .. rst-class:: classref-method
  1843. :ref:`bool<class_bool>` **has_ime_text**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_has_ime_text>`
  1844. Returns ``true`` if the user has text in the `Input Method Editor <https://en.wikipedia.org/wiki/Input_method>`__ (IME).
  1845. .. rst-class:: classref-item-separator
  1846. ----
  1847. .. _class_TextEdit_method_has_redo:
  1848. .. rst-class:: classref-method
  1849. :ref:`bool<class_bool>` **has_redo**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_has_redo>`
  1850. Returns ``true`` if a "redo" action is available.
  1851. .. rst-class:: classref-item-separator
  1852. ----
  1853. .. _class_TextEdit_method_has_selection:
  1854. .. rst-class:: classref-method
  1855. :ref:`bool<class_bool>` **has_selection**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) |const| :ref:`🔗<class_TextEdit_method_has_selection>`
  1856. Returns ``true`` if the user has selected text.
  1857. .. rst-class:: classref-item-separator
  1858. ----
  1859. .. _class_TextEdit_method_has_undo:
  1860. .. rst-class:: classref-method
  1861. :ref:`bool<class_bool>` **has_undo**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_has_undo>`
  1862. Returns ``true`` if an "undo" action is available.
  1863. .. rst-class:: classref-item-separator
  1864. ----
  1865. .. _class_TextEdit_method_insert_line_at:
  1866. .. rst-class:: classref-method
  1867. |void| **insert_line_at**\ (\ line\: :ref:`int<class_int>`, text\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TextEdit_method_insert_line_at>`
  1868. Inserts a new line with ``text`` at ``line``.
  1869. .. rst-class:: classref-item-separator
  1870. ----
  1871. .. _class_TextEdit_method_insert_text:
  1872. .. rst-class:: classref-method
  1873. |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>`
  1874. Inserts the ``text`` at ``line`` and ``column``.
  1875. 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.
  1876. 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.
  1877. .. rst-class:: classref-item-separator
  1878. ----
  1879. .. _class_TextEdit_method_insert_text_at_caret:
  1880. .. rst-class:: classref-method
  1881. |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>`
  1882. Insert the specified text at the caret position.
  1883. .. rst-class:: classref-item-separator
  1884. ----
  1885. .. _class_TextEdit_method_is_caret_after_selection_origin:
  1886. .. rst-class:: classref-method
  1887. :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>`
  1888. Returns ``true`` if the caret of the selection is after the selection origin. This can be used to determine the direction of the selection.
  1889. .. rst-class:: classref-item-separator
  1890. ----
  1891. .. _class_TextEdit_method_is_caret_visible:
  1892. .. rst-class:: classref-method
  1893. :ref:`bool<class_bool>` **is_caret_visible**\ (\ caret_index\: :ref:`int<class_int>` = 0\ ) |const| :ref:`🔗<class_TextEdit_method_is_caret_visible>`
  1894. 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.
  1895. \ **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.
  1896. .. rst-class:: classref-item-separator
  1897. ----
  1898. .. _class_TextEdit_method_is_dragging_cursor:
  1899. .. rst-class:: classref-method
  1900. :ref:`bool<class_bool>` **is_dragging_cursor**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_is_dragging_cursor>`
  1901. Returns ``true`` if the user is dragging their mouse for scrolling, selecting, or text dragging.
  1902. .. rst-class:: classref-item-separator
  1903. ----
  1904. .. _class_TextEdit_method_is_gutter_clickable:
  1905. .. rst-class:: classref-method
  1906. :ref:`bool<class_bool>` **is_gutter_clickable**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_is_gutter_clickable>`
  1907. Returns ``true`` if the gutter at the given index is clickable. See :ref:`set_gutter_clickable()<class_TextEdit_method_set_gutter_clickable>`.
  1908. .. rst-class:: classref-item-separator
  1909. ----
  1910. .. _class_TextEdit_method_is_gutter_drawn:
  1911. .. rst-class:: classref-method
  1912. :ref:`bool<class_bool>` **is_gutter_drawn**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_is_gutter_drawn>`
  1913. Returns ``true`` if the gutter at the given index is currently drawn. See :ref:`set_gutter_draw()<class_TextEdit_method_set_gutter_draw>`.
  1914. .. rst-class:: classref-item-separator
  1915. ----
  1916. .. _class_TextEdit_method_is_gutter_overwritable:
  1917. .. rst-class:: classref-method
  1918. :ref:`bool<class_bool>` **is_gutter_overwritable**\ (\ gutter\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_is_gutter_overwritable>`
  1919. Returns ``true`` if the gutter at the given index is overwritable. See :ref:`set_gutter_overwritable()<class_TextEdit_method_set_gutter_overwritable>`.
  1920. .. rst-class:: classref-item-separator
  1921. ----
  1922. .. _class_TextEdit_method_is_in_mulitcaret_edit:
  1923. .. rst-class:: classref-method
  1924. :ref:`bool<class_bool>` **is_in_mulitcaret_edit**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_is_in_mulitcaret_edit>`
  1925. 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.
  1926. .. rst-class:: classref-item-separator
  1927. ----
  1928. .. _class_TextEdit_method_is_line_gutter_clickable:
  1929. .. rst-class:: classref-method
  1930. :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>`
  1931. 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>`.
  1932. .. rst-class:: classref-item-separator
  1933. ----
  1934. .. _class_TextEdit_method_is_line_wrapped:
  1935. .. rst-class:: classref-method
  1936. :ref:`bool<class_bool>` **is_line_wrapped**\ (\ line\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_is_line_wrapped>`
  1937. Returns if the given line is wrapped.
  1938. .. rst-class:: classref-item-separator
  1939. ----
  1940. .. _class_TextEdit_method_is_menu_visible:
  1941. .. rst-class:: classref-method
  1942. :ref:`bool<class_bool>` **is_menu_visible**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_is_menu_visible>`
  1943. 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>`.
  1944. .. rst-class:: classref-item-separator
  1945. ----
  1946. .. _class_TextEdit_method_is_mouse_over_selection:
  1947. .. rst-class:: classref-method
  1948. :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>`
  1949. Returns ``true`` if the mouse is over a selection. If ``edges`` is ``true``, the edges are considered part of the selection.
  1950. .. rst-class:: classref-item-separator
  1951. ----
  1952. .. _class_TextEdit_method_is_overtype_mode_enabled:
  1953. .. rst-class:: classref-method
  1954. :ref:`bool<class_bool>` **is_overtype_mode_enabled**\ (\ ) |const| :ref:`🔗<class_TextEdit_method_is_overtype_mode_enabled>`
  1955. Returns ``true`` if overtype mode is enabled. See :ref:`set_overtype_mode_enabled()<class_TextEdit_method_set_overtype_mode_enabled>`.
  1956. .. rst-class:: classref-item-separator
  1957. ----
  1958. .. _class_TextEdit_method_menu_option:
  1959. .. rst-class:: classref-method
  1960. |void| **menu_option**\ (\ option\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_menu_option>`
  1961. Executes a given action as defined in the :ref:`MenuItems<enum_TextEdit_MenuItems>` enum.
  1962. .. rst-class:: classref-item-separator
  1963. ----
  1964. .. _class_TextEdit_method_merge_gutters:
  1965. .. rst-class:: classref-method
  1966. |void| **merge_gutters**\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_merge_gutters>`
  1967. 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>`.
  1968. .. rst-class:: classref-item-separator
  1969. ----
  1970. .. _class_TextEdit_method_merge_overlapping_carets:
  1971. .. rst-class:: classref-method
  1972. |void| **merge_overlapping_carets**\ (\ ) :ref:`🔗<class_TextEdit_method_merge_overlapping_carets>`
  1973. Merges any overlapping carets. Will favor the newest caret, or the caret with a selection.
  1974. 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>`.
  1975. \ **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.
  1976. .. rst-class:: classref-item-separator
  1977. ----
  1978. .. _class_TextEdit_method_multicaret_edit_ignore_caret:
  1979. .. rst-class:: classref-method
  1980. :ref:`bool<class_bool>` **multicaret_edit_ignore_caret**\ (\ caret_index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_TextEdit_method_multicaret_edit_ignore_caret>`
  1981. 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.
  1982. It is recommended to ``continue`` within a loop iterating on multiple carets if a caret should be ignored.
  1983. .. rst-class:: classref-item-separator
  1984. ----
  1985. .. _class_TextEdit_method_paste:
  1986. .. rst-class:: classref-method
  1987. |void| **paste**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_paste>`
  1988. Paste at the current location. Can be overridden with :ref:`_paste()<class_TextEdit_private_method__paste>`.
  1989. .. rst-class:: classref-item-separator
  1990. ----
  1991. .. _class_TextEdit_method_paste_primary_clipboard:
  1992. .. rst-class:: classref-method
  1993. |void| **paste_primary_clipboard**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_paste_primary_clipboard>`
  1994. Pastes the primary clipboard.
  1995. .. rst-class:: classref-item-separator
  1996. ----
  1997. .. _class_TextEdit_method_redo:
  1998. .. rst-class:: classref-method
  1999. |void| **redo**\ (\ ) :ref:`🔗<class_TextEdit_method_redo>`
  2000. Perform redo operation.
  2001. .. rst-class:: classref-item-separator
  2002. ----
  2003. .. _class_TextEdit_method_remove_caret:
  2004. .. rst-class:: classref-method
  2005. |void| **remove_caret**\ (\ caret\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_remove_caret>`
  2006. Removes the given caret index.
  2007. \ **Note:** This can result in adjustment of all other caret indices.
  2008. .. rst-class:: classref-item-separator
  2009. ----
  2010. .. _class_TextEdit_method_remove_gutter:
  2011. .. rst-class:: classref-method
  2012. |void| **remove_gutter**\ (\ gutter\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_remove_gutter>`
  2013. Removes the gutter at the given index.
  2014. .. rst-class:: classref-item-separator
  2015. ----
  2016. .. _class_TextEdit_method_remove_line_at:
  2017. .. rst-class:: classref-method
  2018. |void| **remove_line_at**\ (\ line\: :ref:`int<class_int>`, move_carets_down\: :ref:`bool<class_bool>` = true\ ) :ref:`🔗<class_TextEdit_method_remove_line_at>`
  2019. Removes the line of text at ``line``. Carets on this line will attempt to match their previous visual x position.
  2020. If ``move_carets_down`` is ``true`` carets will move to the next line down, otherwise carets will move up.
  2021. .. rst-class:: classref-item-separator
  2022. ----
  2023. .. _class_TextEdit_method_remove_secondary_carets:
  2024. .. rst-class:: classref-method
  2025. |void| **remove_secondary_carets**\ (\ ) :ref:`🔗<class_TextEdit_method_remove_secondary_carets>`
  2026. Removes all additional carets.
  2027. .. rst-class:: classref-item-separator
  2028. ----
  2029. .. _class_TextEdit_method_remove_text:
  2030. .. rst-class:: classref-method
  2031. |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>`
  2032. Removes text between the given positions.
  2033. .. rst-class:: classref-item-separator
  2034. ----
  2035. .. _class_TextEdit_method_search:
  2036. .. rst-class:: classref-method
  2037. :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>`
  2038. Perform a search inside the text. Search flags can be specified in the :ref:`SearchFlags<enum_TextEdit_SearchFlags>` enum.
  2039. In the returned vector, ``x`` is the column, ``y`` is the line. If no results are found, both are equal to ``-1``.
  2040. .. tabs::
  2041. .. code-tab:: gdscript
  2042. var result = search("print", SEARCH_WHOLE_WORDS, 0, 0)
  2043. if result.x != -1:
  2044. # Result found.
  2045. var line_number = result.y
  2046. var column_number = result.x
  2047. .. code-tab:: csharp
  2048. Vector2I result = Search("print", (uint)TextEdit.SearchFlags.WholeWords, 0, 0);
  2049. if (result.X != -1)
  2050. {
  2051. // Result found.
  2052. int lineNumber = result.Y;
  2053. int columnNumber = result.X;
  2054. }
  2055. .. rst-class:: classref-item-separator
  2056. ----
  2057. .. _class_TextEdit_method_select:
  2058. .. rst-class:: classref-method
  2059. |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>`
  2060. 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.
  2061. If :ref:`selecting_enabled<class_TextEdit_property_selecting_enabled>` is ``false``, no selection will occur.
  2062. \ **Note:** If supporting multiple carets this will not check for any overlap. See :ref:`merge_overlapping_carets()<class_TextEdit_method_merge_overlapping_carets>`.
  2063. .. rst-class:: classref-item-separator
  2064. ----
  2065. .. _class_TextEdit_method_select_all:
  2066. .. rst-class:: classref-method
  2067. |void| **select_all**\ (\ ) :ref:`🔗<class_TextEdit_method_select_all>`
  2068. Select all the text.
  2069. If :ref:`selecting_enabled<class_TextEdit_property_selecting_enabled>` is ``false``, no selection will occur.
  2070. .. rst-class:: classref-item-separator
  2071. ----
  2072. .. _class_TextEdit_method_select_word_under_caret:
  2073. .. rst-class:: classref-method
  2074. |void| **select_word_under_caret**\ (\ caret_index\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_TextEdit_method_select_word_under_caret>`
  2075. Selects the word under the caret.
  2076. .. rst-class:: classref-item-separator
  2077. ----
  2078. .. _class_TextEdit_method_set_caret_column:
  2079. .. rst-class:: classref-method
  2080. |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>`
  2081. Moves the caret to the specified ``column`` index.
  2082. If ``adjust_viewport`` is ``true``, the viewport will center at the caret position after the move occurs.
  2083. \ **Note:** If supporting multiple carets this will not check for any overlap. See :ref:`merge_overlapping_carets()<class_TextEdit_method_merge_overlapping_carets>`.
  2084. .. rst-class:: classref-item-separator
  2085. ----
  2086. .. _class_TextEdit_method_set_caret_line:
  2087. .. rst-class:: classref-method
  2088. |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>`
  2089. 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.
  2090. If ``adjust_viewport`` is ``true``, the viewport will center at the caret position after the move occurs.
  2091. If ``can_be_hidden`` is ``true``, the specified ``line`` can be hidden.
  2092. 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.
  2093. \ **Note:** If supporting multiple carets this will not check for any overlap. See :ref:`merge_overlapping_carets()<class_TextEdit_method_merge_overlapping_carets>`.
  2094. .. rst-class:: classref-item-separator
  2095. ----
  2096. .. _class_TextEdit_method_set_gutter_clickable:
  2097. .. rst-class:: classref-method
  2098. |void| **set_gutter_clickable**\ (\ gutter\: :ref:`int<class_int>`, clickable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_clickable>`
  2099. 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>`.
  2100. .. rst-class:: classref-item-separator
  2101. ----
  2102. .. _class_TextEdit_method_set_gutter_custom_draw:
  2103. .. rst-class:: classref-method
  2104. |void| **set_gutter_custom_draw**\ (\ column\: :ref:`int<class_int>`, draw_callback\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_custom_draw>`
  2105. 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>`).
  2106. .. rst-class:: classref-item-separator
  2107. ----
  2108. .. _class_TextEdit_method_set_gutter_draw:
  2109. .. rst-class:: classref-method
  2110. |void| **set_gutter_draw**\ (\ gutter\: :ref:`int<class_int>`, draw\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_draw>`
  2111. 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>`.
  2112. .. rst-class:: classref-item-separator
  2113. ----
  2114. .. _class_TextEdit_method_set_gutter_name:
  2115. .. rst-class:: classref-method
  2116. |void| **set_gutter_name**\ (\ gutter\: :ref:`int<class_int>`, name\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_name>`
  2117. Sets the name of the gutter at the given index.
  2118. .. rst-class:: classref-item-separator
  2119. ----
  2120. .. _class_TextEdit_method_set_gutter_overwritable:
  2121. .. rst-class:: classref-method
  2122. |void| **set_gutter_overwritable**\ (\ gutter\: :ref:`int<class_int>`, overwritable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_overwritable>`
  2123. 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>`.
  2124. .. rst-class:: classref-item-separator
  2125. ----
  2126. .. _class_TextEdit_method_set_gutter_type:
  2127. .. rst-class:: classref-method
  2128. |void| **set_gutter_type**\ (\ gutter\: :ref:`int<class_int>`, type\: :ref:`GutterType<enum_TextEdit_GutterType>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_type>`
  2129. 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.
  2130. .. rst-class:: classref-item-separator
  2131. ----
  2132. .. _class_TextEdit_method_set_gutter_width:
  2133. .. rst-class:: classref-method
  2134. |void| **set_gutter_width**\ (\ gutter\: :ref:`int<class_int>`, width\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_set_gutter_width>`
  2135. Set the width of the gutter at the given index.
  2136. .. rst-class:: classref-item-separator
  2137. ----
  2138. .. _class_TextEdit_method_set_line:
  2139. .. rst-class:: classref-method
  2140. |void| **set_line**\ (\ line\: :ref:`int<class_int>`, new_text\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TextEdit_method_set_line>`
  2141. Sets the text for a specific ``line``.
  2142. Carets on the line will attempt to keep their visual x position.
  2143. .. rst-class:: classref-item-separator
  2144. ----
  2145. .. _class_TextEdit_method_set_line_as_center_visible:
  2146. .. rst-class:: classref-method
  2147. |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>`
  2148. Positions the ``wrap_index`` of ``line`` at the center of the viewport.
  2149. .. rst-class:: classref-item-separator
  2150. ----
  2151. .. _class_TextEdit_method_set_line_as_first_visible:
  2152. .. rst-class:: classref-method
  2153. |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>`
  2154. Positions the ``wrap_index`` of ``line`` at the top of the viewport.
  2155. .. rst-class:: classref-item-separator
  2156. ----
  2157. .. _class_TextEdit_method_set_line_as_last_visible:
  2158. .. rst-class:: classref-method
  2159. |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>`
  2160. Positions the ``wrap_index`` of ``line`` at the bottom of the viewport.
  2161. .. rst-class:: classref-item-separator
  2162. ----
  2163. .. _class_TextEdit_method_set_line_background_color:
  2164. .. rst-class:: classref-method
  2165. |void| **set_line_background_color**\ (\ line\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_TextEdit_method_set_line_background_color>`
  2166. 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.
  2167. .. rst-class:: classref-item-separator
  2168. ----
  2169. .. _class_TextEdit_method_set_line_gutter_clickable:
  2170. .. rst-class:: classref-method
  2171. |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>`
  2172. 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>`.
  2173. .. rst-class:: classref-item-separator
  2174. ----
  2175. .. _class_TextEdit_method_set_line_gutter_icon:
  2176. .. rst-class:: classref-method
  2177. |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>`
  2178. 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>`).
  2179. .. rst-class:: classref-item-separator
  2180. ----
  2181. .. _class_TextEdit_method_set_line_gutter_item_color:
  2182. .. rst-class:: classref-method
  2183. |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>`
  2184. Sets the color for ``gutter`` on ``line`` to ``color``.
  2185. .. rst-class:: classref-item-separator
  2186. ----
  2187. .. _class_TextEdit_method_set_line_gutter_metadata:
  2188. .. rst-class:: classref-method
  2189. |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>`
  2190. Sets the metadata for ``gutter`` on ``line`` to ``metadata``.
  2191. .. rst-class:: classref-item-separator
  2192. ----
  2193. .. _class_TextEdit_method_set_line_gutter_text:
  2194. .. rst-class:: classref-method
  2195. |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>`
  2196. 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>`).
  2197. .. rst-class:: classref-item-separator
  2198. ----
  2199. .. _class_TextEdit_method_set_overtype_mode_enabled:
  2200. .. rst-class:: classref-method
  2201. |void| **set_overtype_mode_enabled**\ (\ enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_TextEdit_method_set_overtype_mode_enabled>`
  2202. 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>`.
  2203. .. rst-class:: classref-item-separator
  2204. ----
  2205. .. _class_TextEdit_method_set_search_flags:
  2206. .. rst-class:: classref-method
  2207. |void| **set_search_flags**\ (\ flags\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_set_search_flags>`
  2208. 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.
  2209. .. rst-class:: classref-item-separator
  2210. ----
  2211. .. _class_TextEdit_method_set_search_text:
  2212. .. rst-class:: classref-method
  2213. |void| **set_search_text**\ (\ search_text\: :ref:`String<class_String>`\ ) :ref:`🔗<class_TextEdit_method_set_search_text>`
  2214. Sets the search text. See :ref:`set_search_flags()<class_TextEdit_method_set_search_flags>`.
  2215. .. rst-class:: classref-item-separator
  2216. ----
  2217. .. _class_TextEdit_method_set_selection_mode:
  2218. .. rst-class:: classref-method
  2219. |void| **set_selection_mode**\ (\ mode\: :ref:`SelectionMode<enum_TextEdit_SelectionMode>`\ ) :ref:`🔗<class_TextEdit_method_set_selection_mode>`
  2220. Sets the current selection mode.
  2221. .. rst-class:: classref-item-separator
  2222. ----
  2223. .. _class_TextEdit_method_set_selection_origin_column:
  2224. .. rst-class:: classref-method
  2225. |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>`
  2226. 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.
  2227. .. rst-class:: classref-item-separator
  2228. ----
  2229. .. _class_TextEdit_method_set_selection_origin_line:
  2230. .. rst-class:: classref-method
  2231. |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>`
  2232. 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.
  2233. If ``can_be_hidden`` is ``false``, The line will be set to the nearest unhidden line below or above.
  2234. 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.
  2235. .. rst-class:: classref-item-separator
  2236. ----
  2237. .. _class_TextEdit_method_set_tab_size:
  2238. .. rst-class:: classref-method
  2239. |void| **set_tab_size**\ (\ size\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_set_tab_size>`
  2240. Sets the tab size for the **TextEdit** to use.
  2241. .. rst-class:: classref-item-separator
  2242. ----
  2243. .. _class_TextEdit_method_set_tooltip_request_func:
  2244. .. rst-class:: classref-method
  2245. |void| **set_tooltip_request_func**\ (\ callback\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_TextEdit_method_set_tooltip_request_func>`
  2246. Provide custom tooltip text. The callback method must take the following args: ``hovered_word: String``.
  2247. .. rst-class:: classref-item-separator
  2248. ----
  2249. .. _class_TextEdit_method_skip_selection_for_next_occurrence:
  2250. .. rst-class:: classref-method
  2251. |void| **skip_selection_for_next_occurrence**\ (\ ) :ref:`🔗<class_TextEdit_method_skip_selection_for_next_occurrence>`
  2252. 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.
  2253. .. rst-class:: classref-item-separator
  2254. ----
  2255. .. _class_TextEdit_method_start_action:
  2256. .. rst-class:: classref-method
  2257. |void| **start_action**\ (\ action\: :ref:`EditAction<enum_TextEdit_EditAction>`\ ) :ref:`🔗<class_TextEdit_method_start_action>`
  2258. Starts an action, will end the current action if ``action`` is different.
  2259. 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.
  2260. .. rst-class:: classref-item-separator
  2261. ----
  2262. .. _class_TextEdit_method_swap_lines:
  2263. .. rst-class:: classref-method
  2264. |void| **swap_lines**\ (\ from_line\: :ref:`int<class_int>`, to_line\: :ref:`int<class_int>`\ ) :ref:`🔗<class_TextEdit_method_swap_lines>`
  2265. Swaps the two lines. Carets will be swapped with the lines.
  2266. .. rst-class:: classref-item-separator
  2267. ----
  2268. .. _class_TextEdit_method_tag_saved_version:
  2269. .. rst-class:: classref-method
  2270. |void| **tag_saved_version**\ (\ ) :ref:`🔗<class_TextEdit_method_tag_saved_version>`
  2271. Tag the current version as saved.
  2272. .. rst-class:: classref-item-separator
  2273. ----
  2274. .. _class_TextEdit_method_undo:
  2275. .. rst-class:: classref-method
  2276. |void| **undo**\ (\ ) :ref:`🔗<class_TextEdit_method_undo>`
  2277. Perform undo operation.
  2278. .. rst-class:: classref-section-separator
  2279. ----
  2280. .. rst-class:: classref-descriptions-group
  2281. Theme Property Descriptions
  2282. ---------------------------
  2283. .. _class_TextEdit_theme_color_background_color:
  2284. .. rst-class:: classref-themeproperty
  2285. :ref:`Color<class_Color>` **background_color** = ``Color(0, 0, 0, 0)`` :ref:`🔗<class_TextEdit_theme_color_background_color>`
  2286. Sets the background :ref:`Color<class_Color>` of this **TextEdit**.
  2287. .. rst-class:: classref-item-separator
  2288. ----
  2289. .. _class_TextEdit_theme_color_caret_background_color:
  2290. .. rst-class:: classref-themeproperty
  2291. :ref:`Color<class_Color>` **caret_background_color** = ``Color(0, 0, 0, 1)`` :ref:`🔗<class_TextEdit_theme_color_caret_background_color>`
  2292. :ref:`Color<class_Color>` of the text behind the caret when using a block caret.
  2293. .. rst-class:: classref-item-separator
  2294. ----
  2295. .. _class_TextEdit_theme_color_caret_color:
  2296. .. rst-class:: classref-themeproperty
  2297. :ref:`Color<class_Color>` **caret_color** = ``Color(0.875, 0.875, 0.875, 1)`` :ref:`🔗<class_TextEdit_theme_color_caret_color>`
  2298. :ref:`Color<class_Color>` of the caret. This can be set to a fully transparent color to hide the caret entirely.
  2299. .. rst-class:: classref-item-separator
  2300. ----
  2301. .. _class_TextEdit_theme_color_current_line_color:
  2302. .. rst-class:: classref-themeproperty
  2303. :ref:`Color<class_Color>` **current_line_color** = ``Color(0.25, 0.25, 0.26, 0.8)`` :ref:`🔗<class_TextEdit_theme_color_current_line_color>`
  2304. Background :ref:`Color<class_Color>` of the line containing the caret.
  2305. .. rst-class:: classref-item-separator
  2306. ----
  2307. .. _class_TextEdit_theme_color_font_color:
  2308. .. rst-class:: classref-themeproperty
  2309. :ref:`Color<class_Color>` **font_color** = ``Color(0.875, 0.875, 0.875, 1)`` :ref:`🔗<class_TextEdit_theme_color_font_color>`
  2310. Sets the font :ref:`Color<class_Color>`.
  2311. .. rst-class:: classref-item-separator
  2312. ----
  2313. .. _class_TextEdit_theme_color_font_outline_color:
  2314. .. rst-class:: classref-themeproperty
  2315. :ref:`Color<class_Color>` **font_outline_color** = ``Color(0, 0, 0, 1)`` :ref:`🔗<class_TextEdit_theme_color_font_outline_color>`
  2316. The tint of text outline of the **TextEdit**.
  2317. .. rst-class:: classref-item-separator
  2318. ----
  2319. .. _class_TextEdit_theme_color_font_placeholder_color:
  2320. .. rst-class:: classref-themeproperty
  2321. :ref:`Color<class_Color>` **font_placeholder_color** = ``Color(0.875, 0.875, 0.875, 0.6)`` :ref:`🔗<class_TextEdit_theme_color_font_placeholder_color>`
  2322. Font color for :ref:`placeholder_text<class_TextEdit_property_placeholder_text>`.
  2323. .. rst-class:: classref-item-separator
  2324. ----
  2325. .. _class_TextEdit_theme_color_font_readonly_color:
  2326. .. rst-class:: classref-themeproperty
  2327. :ref:`Color<class_Color>` **font_readonly_color** = ``Color(0.875, 0.875, 0.875, 0.5)`` :ref:`🔗<class_TextEdit_theme_color_font_readonly_color>`
  2328. Sets the font :ref:`Color<class_Color>` when :ref:`editable<class_TextEdit_property_editable>` is disabled.
  2329. .. rst-class:: classref-item-separator
  2330. ----
  2331. .. _class_TextEdit_theme_color_font_selected_color:
  2332. .. rst-class:: classref-themeproperty
  2333. :ref:`Color<class_Color>` **font_selected_color** = ``Color(0, 0, 0, 0)`` :ref:`🔗<class_TextEdit_theme_color_font_selected_color>`
  2334. Sets the :ref:`Color<class_Color>` of the selected text. If equal to ``Color(0, 0, 0, 0)``, it will be ignored.
  2335. .. rst-class:: classref-item-separator
  2336. ----
  2337. .. _class_TextEdit_theme_color_search_result_border_color:
  2338. .. rst-class:: classref-themeproperty
  2339. :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>`
  2340. :ref:`Color<class_Color>` of the border around text that matches the search query.
  2341. .. rst-class:: classref-item-separator
  2342. ----
  2343. .. _class_TextEdit_theme_color_search_result_color:
  2344. .. rst-class:: classref-themeproperty
  2345. :ref:`Color<class_Color>` **search_result_color** = ``Color(0.3, 0.3, 0.3, 1)`` :ref:`🔗<class_TextEdit_theme_color_search_result_color>`
  2346. :ref:`Color<class_Color>` behind the text that matches the search query.
  2347. .. rst-class:: classref-item-separator
  2348. ----
  2349. .. _class_TextEdit_theme_color_selection_color:
  2350. .. rst-class:: classref-themeproperty
  2351. :ref:`Color<class_Color>` **selection_color** = ``Color(0.5, 0.5, 0.5, 1)`` :ref:`🔗<class_TextEdit_theme_color_selection_color>`
  2352. Sets the highlight :ref:`Color<class_Color>` of text selections.
  2353. .. rst-class:: classref-item-separator
  2354. ----
  2355. .. _class_TextEdit_theme_color_word_highlighted_color:
  2356. .. rst-class:: classref-themeproperty
  2357. :ref:`Color<class_Color>` **word_highlighted_color** = ``Color(0.5, 0.5, 0.5, 0.25)`` :ref:`🔗<class_TextEdit_theme_color_word_highlighted_color>`
  2358. Sets the highlight :ref:`Color<class_Color>` of multiple occurrences. :ref:`highlight_all_occurrences<class_TextEdit_property_highlight_all_occurrences>` has to be enabled.
  2359. .. rst-class:: classref-item-separator
  2360. ----
  2361. .. _class_TextEdit_theme_constant_caret_width:
  2362. .. rst-class:: classref-themeproperty
  2363. :ref:`int<class_int>` **caret_width** = ``1`` :ref:`🔗<class_TextEdit_theme_constant_caret_width>`
  2364. 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.
  2365. .. rst-class:: classref-item-separator
  2366. ----
  2367. .. _class_TextEdit_theme_constant_line_spacing:
  2368. .. rst-class:: classref-themeproperty
  2369. :ref:`int<class_int>` **line_spacing** = ``4`` :ref:`🔗<class_TextEdit_theme_constant_line_spacing>`
  2370. Additional vertical spacing between lines (in pixels), spacing is added to line descent. This value can be negative.
  2371. .. rst-class:: classref-item-separator
  2372. ----
  2373. .. _class_TextEdit_theme_constant_outline_size:
  2374. .. rst-class:: classref-themeproperty
  2375. :ref:`int<class_int>` **outline_size** = ``0`` :ref:`🔗<class_TextEdit_theme_constant_outline_size>`
  2376. The size of the text outline.
  2377. \ **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.
  2378. .. rst-class:: classref-item-separator
  2379. ----
  2380. .. _class_TextEdit_theme_font_font:
  2381. .. rst-class:: classref-themeproperty
  2382. :ref:`Font<class_Font>` **font** :ref:`🔗<class_TextEdit_theme_font_font>`
  2383. Sets the default :ref:`Font<class_Font>`.
  2384. .. rst-class:: classref-item-separator
  2385. ----
  2386. .. _class_TextEdit_theme_font_size_font_size:
  2387. .. rst-class:: classref-themeproperty
  2388. :ref:`int<class_int>` **font_size** :ref:`🔗<class_TextEdit_theme_font_size_font_size>`
  2389. Sets default font size.
  2390. .. rst-class:: classref-item-separator
  2391. ----
  2392. .. _class_TextEdit_theme_icon_space:
  2393. .. rst-class:: classref-themeproperty
  2394. :ref:`Texture2D<class_Texture2D>` **space** :ref:`🔗<class_TextEdit_theme_icon_space>`
  2395. Sets a custom :ref:`Texture2D<class_Texture2D>` for space text characters.
  2396. .. rst-class:: classref-item-separator
  2397. ----
  2398. .. _class_TextEdit_theme_icon_tab:
  2399. .. rst-class:: classref-themeproperty
  2400. :ref:`Texture2D<class_Texture2D>` **tab** :ref:`🔗<class_TextEdit_theme_icon_tab>`
  2401. Sets a custom :ref:`Texture2D<class_Texture2D>` for tab text characters.
  2402. .. rst-class:: classref-item-separator
  2403. ----
  2404. .. _class_TextEdit_theme_style_focus:
  2405. .. rst-class:: classref-themeproperty
  2406. :ref:`StyleBox<class_StyleBox>` **focus** :ref:`🔗<class_TextEdit_theme_style_focus>`
  2407. 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.
  2408. .. rst-class:: classref-item-separator
  2409. ----
  2410. .. _class_TextEdit_theme_style_normal:
  2411. .. rst-class:: classref-themeproperty
  2412. :ref:`StyleBox<class_StyleBox>` **normal** :ref:`🔗<class_TextEdit_theme_style_normal>`
  2413. Sets the :ref:`StyleBox<class_StyleBox>` of this **TextEdit**.
  2414. .. rst-class:: classref-item-separator
  2415. ----
  2416. .. _class_TextEdit_theme_style_read_only:
  2417. .. rst-class:: classref-themeproperty
  2418. :ref:`StyleBox<class_StyleBox>` **read_only** :ref:`🔗<class_TextEdit_theme_style_read_only>`
  2419. Sets the :ref:`StyleBox<class_StyleBox>` of this **TextEdit** when :ref:`editable<class_TextEdit_property_editable>` is disabled.
  2420. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  2421. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  2422. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  2423. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  2424. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  2425. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  2426. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  2427. .. |void| replace:: :abbr:`void (No return value.)`