GET https://kbin.spritesserver.nl/index.php/u/@crank@beehaw.org/newest/2023-11-12::2023-11-12

Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
17.07 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.06 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#1525
  +user: App\Entity\User {#258 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1554 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2389 …}
  +slug: "I-remember-why-I-stopped-using-Geany-text-editor-comment"
  +title: "I remember why I stopped using Geany text editor: comment toggling not as expected"
  +url: null
  +body: """
    Since [Geany 2.0 has recently been released](https://www.geany.org/documentation/releasenotes/) I decided to switch back to it from Kate. I used to like Geany but it had some problems I couldn’t quite remember.\n
    \n
    So I quickly remembered the problem. I can’t figure out how to configure it to properly comment and comment blocks of code. Say you have the following in a file of type `shell script`:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;"># a comment\n
    </span><span style="color:#323232;">\t</span><span style="color:#62a35c;">echo </span><span style="color:#323232;">$variable\n
    </span>\n
    ```\n
    \n
    I want to be able to select the above lines and use a keybinding to comment them out, so the result would be:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">## a comment\n
    </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">#echo $variable\n
    </span>\n
    ```\n
    \n
    `Edit` &gt; `Format` &gt; `Comment Lines` works as anticipated.\n
    \n
    But if I decide I want the lines back, how do that with the same keybinding? Using `Comment Lines` again adds a second level of comments, which is what I would expect (but not what I want):\n
    \n
    ```\n
    \n
    <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">### a comment\n
    </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">##echo $variable\n
    </span>\n
    ```\n
    \n
    `Edit` &gt; `Format` &gt; `Toggle Line Commentation` works and the file returns to the original state. But if you reselect the original lines and run it again, you get\n
    \n
    ```\n
    \n
    <span style="color:#323232;">\t a comment\n
    </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">#echo $variable\n
    </span>\n
    ```\n
    \n
    Which would obviously lead to unpredictable results.\n
    \n
    There doesn’t seem to be a way for Geany to look at the block of text and decide whether it should be *commented* or *uncommented* and act accordingly.\n
    \n
    Kate editor has this functionality in `Selection` &gt; `Toggle Comment` as do other editors I’ve encountered. If there is a mix of commented and uncommented text, it will *never* remove comments. It only removes comments when the entire block has commenting, and then it removes only 1 level of comments. Perfect. Of course if you really want to force the matter, there are the more aggressive `Comment` and `Uncomment`.\n
    \n
    Using the Geany `Toggle Line Commentation` leads to strange results, especially if you are starting with multiple levels of comments. Is there a way to duplicate the standard comment toggle in Geany? I tried to train myself to use `Comment Line(s)` and `Uncomment Lines(s)` instead of a single command but I just made a lot of mistakes where I didn’t realize there were multiple levels of comments or whatever and things became uncommented that shouldn’t have and it created a giant mess.\n
    \n
    I’m not a professional IT person, just someone who enjoys text files in their spare time. I do a lot of commenting and uncommenting trying to find out how things work. I thought it was a pretty normal thing to do. There must be a way to do it right?\n
    \n
    I recall digging around a bunch in the Geany repo/docs and it ended up that some problem I was having was a limitation of the Scintilla lexer and there wasn’t much Geany could do about it. But I am not sure if it was this issue or something else.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 9
  +favouriteCount: 17
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699840939 {#2447
    date: 2023-11-13 03:02:19.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2391 …}
  +votes: Doctrine\ORM\PersistentCollection {#1407 …}
  +reports: Doctrine\ORM\PersistentCollection {#1910 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2025 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2026 …}
  +badges: Doctrine\ORM\PersistentCollection {#2037 …}
  +children: [
    App\Entity\EntryComment {#1678
      +user: App\Entity\User {#258 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1525 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1554 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1581 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1584 …}
      +body: """
        OK I went to their tracker. Which jogs my memory even further on why I gave up on it and am unmotivated to open issues in this case.\n
        \n
        Here is a similar but not exactly the same issue: Tool to Comentent lines fail and can be more elegant · Issue #3554 · geany/geany. I suspect my issue is probably related to theirs. The developer response is:\n
        \n
        > Since nobody has asked for this formatting before (@osergioabreu you did search for existing open or closed issues before you raised this didn’t you? 😁) users either don’t care because they only use it to temporarily comment out code and will remove it quickly, or they like it like that.\n
        > \n
        > So if “somebody” made a pull request which made the formatting an option it likely would be accepted so both tastes are accommodated.\n
        > \n
        > Or it was put in a plugin (if it isn’t in one already?)\n
        \n
        1. If my request is unique they are not interested because if it was important someone would already have posed it. If it isn’t unique than it would be a duplicate anyway. Unlike my problem, this issue #3554 is a *real* bug. The feature simply fails to work even on its own logic because it produces comments in such a way that the application itself does not *recognize* as comments. So impossible to later uncomment!\n
        2. They are basically open to PRs rather than suggestions. It isn’t just this particular case; it is the project as a a whole. It is a tool with a primary user base of developers so it is expected that many users will have the ability to do this. So-called “do-ocracy” I’ve heard described elsewhere. Which, fair enough, it is a FLOSS project and they have no responsibility to cater to me. I always am grateful for FLOSS developers and respect the right to runt heir project as they see fit. However I have no capacity to make a PR.\n
        3. Like me this dev wonders if it is a plugin. Also like me doesn’t have a way of finding out because the plugins are poorly described.\n
        \n
        Obviously we do not know each other but I will say that I have opened lots of issues like this in the past and will do so in the future. I don’t need a push to do it. That said, I appreciate the encouragement because for a long time I would never open issues and lots of people feel intimidated to do so. As I got more into FLOSS I came to understand that there is a sort of responsibility from users to give useful and constructive feedback to developers. And I have been blown away at how receptive developers are to my feedback, especially knowing that 90% of them are doing it on their own time. It really changes the way I look at commercial software when I have to use it at work. :) Where the relationship is transactional between my employer and the developers, rather than reciprocal between myself and the developers. My expectations are now so high based on FLOSS that commercial software seems so deficient. All that to say I understand what you are getting at.\n
        \n
        *However* I have also learned to evaluate the project prior to engaging with it to determine if my contribution would be welcome. When I am not the target user of the project, I find I am often wasting everyone’s time. The target user of this project is *programmers*.\n
        \n
        So in this case a forum post is more appropriate because the odds of a solution from the devs are like 1%. Maybe I will make an issue next time I’m logged in to github idk.\n
        \n
        A forum is a good place to learn from other users about undocumented features, or maybe there is a plugin someone knows about. That would actually be helpful.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1699798938 {#1743
        date: 2023-11-12 15:22:18.0 +01:00
      }
      +ip: null
      +tags: [
        "3554"
      ]
      +mentions: [
        "@crank@beehaw.org"
        "@aperson@beehaw.org"
        "@magikmw@lemm.ee"
        "@osergioabreu"
        "@russjr08@outpost.zeuslink.net"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1580 …}
      +nested: Doctrine\ORM\PersistentCollection {#1583 …}
      +votes: Doctrine\ORM\PersistentCollection {#1582 …}
      +reports: Doctrine\ORM\PersistentCollection {#1589 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1613 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1557 …}
      -id: 115607
      -bodyTs: "'1':153,614 '2':229 '3':335 '3554':50,191 '90':471 'abil':275 'accept':133 'accommod':138 'actual':655 'alreadi':152,170 'also':346,547 'alway':308 'anyway':185 'applic':217 'appreci':405 'appropri':602 'ask':68 'away':459 'base':262,524 'basic':232 'blown':458 'bug':195 'call':281 'came':434 'capac':330 'care':94 'case':28,245,596 'cater':304 'chang':483 'close':81 'code':104 'coment':41 'comment':102,210,223 'commerci':489,528 'construct':450 'contribut':562 'defici':532 'describ':288,362 'determin':559 'dev':339,611 'develop':62,264,313,453,463,509,517 'didn':87 'do-ocraci':282 'doesn':349 'duplic':184 'either':91 'eleg':48 'elsewher':289 'employ':506 'encourag':407 'engag':555 'enough':292 'especi':468 'evalu':550 'even':11,202 'everyon':582 'exact':35 'exist':78 'expect':268,519 'fail':43,199 'fair':291 'featur':197,643 'feedback':451,467 'feel':422 'find':355,577 'fit':325 'floss':296,312,432,526 'format':71,126 'forum':598,631 'futur':392 'gave':16 'geany/geany':51 'get':542 'github':628 'give':447 'good':634 'got':429 'grate':310 'heard':287 'heir':320 'help':657 'high':523 'howev':326,544 'idk':629 'import':167 'imposs':225 'interest':162 'intimid':423 'isn':148,176,240 'issu':25,38,49,55,82,190,380,417,620 'jog':8 'know':367,469,651 'later':227 'learn':548,637 'like':112,114,130,336,347,381,613 'line':42 'log':625 'logic':206 'long':411 'look':487 'lot':378,419 'm':624 'made':119,124 'make':332,618 'mani':270 'mayb':615,645 'memori':10 'need':396 'never':415 'next':621 'nobodi':66 'obvious':363 'ocraci':284 'odd':605 'often':580 'ok':1 'one':151 'open':24,79,233,377,416 'option':128 'osergioabreu':73 'particular':244 'past':385 'peopl':421 'place':635 'plugin':145,345,359,649 'poor':361 'pose':172 'post':599 'pr':334 'primari':260 'prior':553 'probabl':57 'problem':188 'produc':209 'programm':592 'project':249,297,321,552,575,590 'prs':235 'pull':121 'push':398 'put':142 'quick':109 'rais':85 'rather':236,510 'real':194 'realli':482 'recept':462 'reciproc':512 'recogn':221 'relat':58 'relationship':501 'remov':107 'request':122,156 'respect':315 'respons':63,302,443 'right':317 'runt':319 'said':403 'say':373,536 'search':76 'see':324 'seem':530 'similar':32 'simpli':198 'sinc':65 'so-cal':279 'softwar':490,529 'solut':608 'somebodi':118 'someon':168,650 'sort':441 'suggest':238 'suspect':53 'target':571,586 'tast':136 'temporarili':101 'time':412,480,584,622 'tool':39,257 'tracker':6 'transact':503 'uncom':228 'understand':436,538 'undocu':642 'uniqu':158,178 'unlik':186 'unmotiv':22 'use':98,448,495 'user':90,261,271,445,572,587,640 've':286 'wast':581 'way':214,353,485 'welcom':565 'went':3 'whole':253 'wonder':340 'work':201,498 'would':131,169,181,414,563,654"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://beehaw.org/comment/1627049"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699798938 {#1647
        date: 2023-11-12 15:22:18.0 +01:00
      }
      +"title": 115607
    }
  ]
  -id: 11968
  -titleTs: "'comment':10 'editor':9 'expect':14 'geani':7 'rememb':2 'stop':5 'text':8 'toggl':11 'use':6"
  -bodyTs: "'/documentation/releasenotes/)':10 '1':262 '2.0':3 'abl':78 'accord':215 'act':214 'add':128 'aggress':281 'anticip':107 'around':425 'back':15,116 'becam':359 'block':55,201,254 'bunch':427 'code':57 'command':335 'comment':52,54,71,89,98,103,125,133,146,153,177,210,224,238,246,250,256,265,282,290,304,313,324,354,393 'configur':48 'could':455 'couldn':31 'cours':268 'creat':367 'decid':12,111,205 'didn':346 'dig':424 'doesn':188 'duplic':310 'echo':72,99,147,178 'edit':101,149 'editor':217,228 'els':471 'encount':231 'end':434 'enjoy':381 'entir':253 'especi':295 'expect':139 'figur':44 'file':65,157,383 'find':398 'follow':62 'forc':274 'format':102,150 'function':220 'geani':2,24,196,287,316,430,454 'get':175 'giant':369 'instead':331 'issu':468 'kate':19,216 'keybind':87,123 'lead':183,291 'level':131,263,302,352 'lexer':448 'like':23 'limit':444 'line':83,104,115,126,152,169,289,325,329 'look':198 'lot':341,391 'm':372 'made':339 'matter':276 'mess':370 'mistak':343 'mix':236 'much':453 'multipl':301,351 'must':414 'never':244 'normal':409 'obvious':182 'origin':161,168 'perfect':266 'person':377 'pretti':408 'problem':29,40,438 'profession':375 'proper':51 'quick':37 'quit':33 'realiz':348 'realli':271 'recal':423 'recent':5 'releas':7 'rememb':34,38 'remov':245,249,260 'repo/docs':431 'reselect':166 'result':94,186,294 'return':158 'right':421 'run':171 'say':58 'scintilla':447 'script':69 'second':130 'seem':190 'select':80,222 'shell':68 'shouldn':362 'sinc':1 'singl':334 'someon':379 'someth':470 'spare':386 'standard':312 'start':299 'state':162 'strang':293 'sure':463 'switch':14 'text':203,241,382 'thing':358,401,410 'thought':404 'time':387 'toggl':151,223,288,314 'train':320 'tri':318,396 'type':67 'uncom':212,240,284,328,360,395 'unpredict':185 'use':21,85,124,285,323 'variabl':73,100,148,179 've':230 'want':75,113,144,272 'wasn':451 'way':194,308,417 'whatev':356 'whether':206 'work':105,154,402 'would':95,138,181 'www.geany.org':9 'www.geany.org/documentation/releasenotes/)':8"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1699773978
  +visibility: "visible             "
  +apId: "https://beehaw.org/post/9470604"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699704478 {#1677
    date: 2023-11-11 13:07:58.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
Proxies\__CG__\App\Entity\Entry {#1525
  +user: App\Entity\User {#258 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1554 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2389 …}
  +slug: "I-remember-why-I-stopped-using-Geany-text-editor-comment"
  +title: "I remember why I stopped using Geany text editor: comment toggling not as expected"
  +url: null
  +body: """
    Since [Geany 2.0 has recently been released](https://www.geany.org/documentation/releasenotes/) I decided to switch back to it from Kate. I used to like Geany but it had some problems I couldn’t quite remember.\n
    \n
    So I quickly remembered the problem. I can’t figure out how to configure it to properly comment and comment blocks of code. Say you have the following in a file of type `shell script`:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;"># a comment\n
    </span><span style="color:#323232;">\t</span><span style="color:#62a35c;">echo </span><span style="color:#323232;">$variable\n
    </span>\n
    ```\n
    \n
    I want to be able to select the above lines and use a keybinding to comment them out, so the result would be:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">## a comment\n
    </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">#echo $variable\n
    </span>\n
    ```\n
    \n
    `Edit` &gt; `Format` &gt; `Comment Lines` works as anticipated.\n
    \n
    But if I decide I want the lines back, how do that with the same keybinding? Using `Comment Lines` again adds a second level of comments, which is what I would expect (but not what I want):\n
    \n
    ```\n
    \n
    <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">### a comment\n
    </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">##echo $variable\n
    </span>\n
    ```\n
    \n
    `Edit` &gt; `Format` &gt; `Toggle Line Commentation` works and the file returns to the original state. But if you reselect the original lines and run it again, you get\n
    \n
    ```\n
    \n
    <span style="color:#323232;">\t a comment\n
    </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">#echo $variable\n
    </span>\n
    ```\n
    \n
    Which would obviously lead to unpredictable results.\n
    \n
    There doesn’t seem to be a way for Geany to look at the block of text and decide whether it should be *commented* or *uncommented* and act accordingly.\n
    \n
    Kate editor has this functionality in `Selection` &gt; `Toggle Comment` as do other editors I’ve encountered. If there is a mix of commented and uncommented text, it will *never* remove comments. It only removes comments when the entire block has commenting, and then it removes only 1 level of comments. Perfect. Of course if you really want to force the matter, there are the more aggressive `Comment` and `Uncomment`.\n
    \n
    Using the Geany `Toggle Line Commentation` leads to strange results, especially if you are starting with multiple levels of comments. Is there a way to duplicate the standard comment toggle in Geany? I tried to train myself to use `Comment Line(s)` and `Uncomment Lines(s)` instead of a single command but I just made a lot of mistakes where I didn’t realize there were multiple levels of comments or whatever and things became uncommented that shouldn’t have and it created a giant mess.\n
    \n
    I’m not a professional IT person, just someone who enjoys text files in their spare time. I do a lot of commenting and uncommenting trying to find out how things work. I thought it was a pretty normal thing to do. There must be a way to do it right?\n
    \n
    I recall digging around a bunch in the Geany repo/docs and it ended up that some problem I was having was a limitation of the Scintilla lexer and there wasn’t much Geany could do about it. But I am not sure if it was this issue or something else.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 9
  +favouriteCount: 17
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699840939 {#2447
    date: 2023-11-13 03:02:19.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2391 …}
  +votes: Doctrine\ORM\PersistentCollection {#1407 …}
  +reports: Doctrine\ORM\PersistentCollection {#1910 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2025 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2026 …}
  +badges: Doctrine\ORM\PersistentCollection {#2037 …}
  +children: [
    App\Entity\EntryComment {#1678
      +user: App\Entity\User {#258 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1525 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1554 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1581 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1584 …}
      +body: """
        OK I went to their tracker. Which jogs my memory even further on why I gave up on it and am unmotivated to open issues in this case.\n
        \n
        Here is a similar but not exactly the same issue: Tool to Comentent lines fail and can be more elegant · Issue #3554 · geany/geany. I suspect my issue is probably related to theirs. The developer response is:\n
        \n
        > Since nobody has asked for this formatting before (@osergioabreu you did search for existing open or closed issues before you raised this didn’t you? 😁) users either don’t care because they only use it to temporarily comment out code and will remove it quickly, or they like it like that.\n
        > \n
        > So if “somebody” made a pull request which made the formatting an option it likely would be accepted so both tastes are accommodated.\n
        > \n
        > Or it was put in a plugin (if it isn’t in one already?)\n
        \n
        1. If my request is unique they are not interested because if it was important someone would already have posed it. If it isn’t unique than it would be a duplicate anyway. Unlike my problem, this issue #3554 is a *real* bug. The feature simply fails to work even on its own logic because it produces comments in such a way that the application itself does not *recognize* as comments. So impossible to later uncomment!\n
        2. They are basically open to PRs rather than suggestions. It isn’t just this particular case; it is the project as a a whole. It is a tool with a primary user base of developers so it is expected that many users will have the ability to do this. So-called “do-ocracy” I’ve heard described elsewhere. Which, fair enough, it is a FLOSS project and they have no responsibility to cater to me. I always am grateful for FLOSS developers and respect the right to runt heir project as they see fit. However I have no capacity to make a PR.\n
        3. Like me this dev wonders if it is a plugin. Also like me doesn’t have a way of finding out because the plugins are poorly described.\n
        \n
        Obviously we do not know each other but I will say that I have opened lots of issues like this in the past and will do so in the future. I don’t need a push to do it. That said, I appreciate the encouragement because for a long time I would never open issues and lots of people feel intimidated to do so. As I got more into FLOSS I came to understand that there is a sort of responsibility from users to give useful and constructive feedback to developers. And I have been blown away at how receptive developers are to my feedback, especially knowing that 90% of them are doing it on their own time. It really changes the way I look at commercial software when I have to use it at work. :) Where the relationship is transactional between my employer and the developers, rather than reciprocal between myself and the developers. My expectations are now so high based on FLOSS that commercial software seems so deficient. All that to say I understand what you are getting at.\n
        \n
        *However* I have also learned to evaluate the project prior to engaging with it to determine if my contribution would be welcome. When I am not the target user of the project, I find I am often wasting everyone’s time. The target user of this project is *programmers*.\n
        \n
        So in this case a forum post is more appropriate because the odds of a solution from the devs are like 1%. Maybe I will make an issue next time I’m logged in to github idk.\n
        \n
        A forum is a good place to learn from other users about undocumented features, or maybe there is a plugin someone knows about. That would actually be helpful.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1699798938 {#1743
        date: 2023-11-12 15:22:18.0 +01:00
      }
      +ip: null
      +tags: [
        "3554"
      ]
      +mentions: [
        "@crank@beehaw.org"
        "@aperson@beehaw.org"
        "@magikmw@lemm.ee"
        "@osergioabreu"
        "@russjr08@outpost.zeuslink.net"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1580 …}
      +nested: Doctrine\ORM\PersistentCollection {#1583 …}
      +votes: Doctrine\ORM\PersistentCollection {#1582 …}
      +reports: Doctrine\ORM\PersistentCollection {#1589 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1613 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1557 …}
      -id: 115607
      -bodyTs: "'1':153,614 '2':229 '3':335 '3554':50,191 '90':471 'abil':275 'accept':133 'accommod':138 'actual':655 'alreadi':152,170 'also':346,547 'alway':308 'anyway':185 'applic':217 'appreci':405 'appropri':602 'ask':68 'away':459 'base':262,524 'basic':232 'blown':458 'bug':195 'call':281 'came':434 'capac':330 'care':94 'case':28,245,596 'cater':304 'chang':483 'close':81 'code':104 'coment':41 'comment':102,210,223 'commerci':489,528 'construct':450 'contribut':562 'defici':532 'describ':288,362 'determin':559 'dev':339,611 'develop':62,264,313,453,463,509,517 'didn':87 'do-ocraci':282 'doesn':349 'duplic':184 'either':91 'eleg':48 'elsewher':289 'employ':506 'encourag':407 'engag':555 'enough':292 'especi':468 'evalu':550 'even':11,202 'everyon':582 'exact':35 'exist':78 'expect':268,519 'fail':43,199 'fair':291 'featur':197,643 'feedback':451,467 'feel':422 'find':355,577 'fit':325 'floss':296,312,432,526 'format':71,126 'forum':598,631 'futur':392 'gave':16 'geany/geany':51 'get':542 'github':628 'give':447 'good':634 'got':429 'grate':310 'heard':287 'heir':320 'help':657 'high':523 'howev':326,544 'idk':629 'import':167 'imposs':225 'interest':162 'intimid':423 'isn':148,176,240 'issu':25,38,49,55,82,190,380,417,620 'jog':8 'know':367,469,651 'later':227 'learn':548,637 'like':112,114,130,336,347,381,613 'line':42 'log':625 'logic':206 'long':411 'look':487 'lot':378,419 'm':624 'made':119,124 'make':332,618 'mani':270 'mayb':615,645 'memori':10 'need':396 'never':415 'next':621 'nobodi':66 'obvious':363 'ocraci':284 'odd':605 'often':580 'ok':1 'one':151 'open':24,79,233,377,416 'option':128 'osergioabreu':73 'particular':244 'past':385 'peopl':421 'place':635 'plugin':145,345,359,649 'poor':361 'pose':172 'post':599 'pr':334 'primari':260 'prior':553 'probabl':57 'problem':188 'produc':209 'programm':592 'project':249,297,321,552,575,590 'prs':235 'pull':121 'push':398 'put':142 'quick':109 'rais':85 'rather':236,510 'real':194 'realli':482 'recept':462 'reciproc':512 'recogn':221 'relat':58 'relationship':501 'remov':107 'request':122,156 'respect':315 'respons':63,302,443 'right':317 'runt':319 'said':403 'say':373,536 'search':76 'see':324 'seem':530 'similar':32 'simpli':198 'sinc':65 'so-cal':279 'softwar':490,529 'solut':608 'somebodi':118 'someon':168,650 'sort':441 'suggest':238 'suspect':53 'target':571,586 'tast':136 'temporarili':101 'time':412,480,584,622 'tool':39,257 'tracker':6 'transact':503 'uncom':228 'understand':436,538 'undocu':642 'uniqu':158,178 'unlik':186 'unmotiv':22 'use':98,448,495 'user':90,261,271,445,572,587,640 've':286 'wast':581 'way':214,353,485 'welcom':565 'went':3 'whole':253 'wonder':340 'work':201,498 'would':131,169,181,414,563,654"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://beehaw.org/comment/1627049"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699798938 {#1647
        date: 2023-11-12 15:22:18.0 +01:00
      }
      +"title": 115607
    }
  ]
  -id: 11968
  -titleTs: "'comment':10 'editor':9 'expect':14 'geani':7 'rememb':2 'stop':5 'text':8 'toggl':11 'use':6"
  -bodyTs: "'/documentation/releasenotes/)':10 '1':262 '2.0':3 'abl':78 'accord':215 'act':214 'add':128 'aggress':281 'anticip':107 'around':425 'back':15,116 'becam':359 'block':55,201,254 'bunch':427 'code':57 'command':335 'comment':52,54,71,89,98,103,125,133,146,153,177,210,224,238,246,250,256,265,282,290,304,313,324,354,393 'configur':48 'could':455 'couldn':31 'cours':268 'creat':367 'decid':12,111,205 'didn':346 'dig':424 'doesn':188 'duplic':310 'echo':72,99,147,178 'edit':101,149 'editor':217,228 'els':471 'encount':231 'end':434 'enjoy':381 'entir':253 'especi':295 'expect':139 'figur':44 'file':65,157,383 'find':398 'follow':62 'forc':274 'format':102,150 'function':220 'geani':2,24,196,287,316,430,454 'get':175 'giant':369 'instead':331 'issu':468 'kate':19,216 'keybind':87,123 'lead':183,291 'level':131,263,302,352 'lexer':448 'like':23 'limit':444 'line':83,104,115,126,152,169,289,325,329 'look':198 'lot':341,391 'm':372 'made':339 'matter':276 'mess':370 'mistak':343 'mix':236 'much':453 'multipl':301,351 'must':414 'never':244 'normal':409 'obvious':182 'origin':161,168 'perfect':266 'person':377 'pretti':408 'problem':29,40,438 'profession':375 'proper':51 'quick':37 'quit':33 'realiz':348 'realli':271 'recal':423 'recent':5 'releas':7 'rememb':34,38 'remov':245,249,260 'repo/docs':431 'reselect':166 'result':94,186,294 'return':158 'right':421 'run':171 'say':58 'scintilla':447 'script':69 'second':130 'seem':190 'select':80,222 'shell':68 'shouldn':362 'sinc':1 'singl':334 'someon':379 'someth':470 'spare':386 'standard':312 'start':299 'state':162 'strang':293 'sure':463 'switch':14 'text':203,241,382 'thing':358,401,410 'thought':404 'time':387 'toggl':151,223,288,314 'train':320 'tri':318,396 'type':67 'uncom':212,240,284,328,360,395 'unpredict':185 'use':21,85,124,285,323 'variabl':73,100,148,179 've':230 'want':75,113,144,272 'wasn':451 'way':194,308,417 'whatev':356 'whether':206 'work':105,154,402 'would':95,138,181 'www.geany.org':9 'www.geany.org/documentation/releasenotes/)':8"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1699773978
  +visibility: "visible             "
  +apId: "https://beehaw.org/post/9470604"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699704478 {#1677
    date: 2023-11-11 13:07:58.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
Proxies\__CG__\App\Entity\Entry {#1525
  +user: App\Entity\User {#258 …}
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1554 …}
  +image: null
  +domain: Proxies\__CG__\App\Entity\Domain {#2389 …}
  +slug: "I-remember-why-I-stopped-using-Geany-text-editor-comment"
  +title: "I remember why I stopped using Geany text editor: comment toggling not as expected"
  +url: null
  +body: """
    Since [Geany 2.0 has recently been released](https://www.geany.org/documentation/releasenotes/) I decided to switch back to it from Kate. I used to like Geany but it had some problems I couldn’t quite remember.\n
    \n
    So I quickly remembered the problem. I can’t figure out how to configure it to properly comment and comment blocks of code. Say you have the following in a file of type `shell script`:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;"># a comment\n
    </span><span style="color:#323232;">\t</span><span style="color:#62a35c;">echo </span><span style="color:#323232;">$variable\n
    </span>\n
    ```\n
    \n
    I want to be able to select the above lines and use a keybinding to comment them out, so the result would be:\n
    \n
    ```\n
    \n
    <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">## a comment\n
    </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">#echo $variable\n
    </span>\n
    ```\n
    \n
    `Edit` &gt; `Format` &gt; `Comment Lines` works as anticipated.\n
    \n
    But if I decide I want the lines back, how do that with the same keybinding? Using `Comment Lines` again adds a second level of comments, which is what I would expect (but not what I want):\n
    \n
    ```\n
    \n
    <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">### a comment\n
    </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">##echo $variable\n
    </span>\n
    ```\n
    \n
    `Edit` &gt; `Format` &gt; `Toggle Line Commentation` works and the file returns to the original state. But if you reselect the original lines and run it again, you get\n
    \n
    ```\n
    \n
    <span style="color:#323232;">\t a comment\n
    </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">#echo $variable\n
    </span>\n
    ```\n
    \n
    Which would obviously lead to unpredictable results.\n
    \n
    There doesn’t seem to be a way for Geany to look at the block of text and decide whether it should be *commented* or *uncommented* and act accordingly.\n
    \n
    Kate editor has this functionality in `Selection` &gt; `Toggle Comment` as do other editors I’ve encountered. If there is a mix of commented and uncommented text, it will *never* remove comments. It only removes comments when the entire block has commenting, and then it removes only 1 level of comments. Perfect. Of course if you really want to force the matter, there are the more aggressive `Comment` and `Uncomment`.\n
    \n
    Using the Geany `Toggle Line Commentation` leads to strange results, especially if you are starting with multiple levels of comments. Is there a way to duplicate the standard comment toggle in Geany? I tried to train myself to use `Comment Line(s)` and `Uncomment Lines(s)` instead of a single command but I just made a lot of mistakes where I didn’t realize there were multiple levels of comments or whatever and things became uncommented that shouldn’t have and it created a giant mess.\n
    \n
    I’m not a professional IT person, just someone who enjoys text files in their spare time. I do a lot of commenting and uncommenting trying to find out how things work. I thought it was a pretty normal thing to do. There must be a way to do it right?\n
    \n
    I recall digging around a bunch in the Geany repo/docs and it ended up that some problem I was having was a limitation of the Scintilla lexer and there wasn’t much Geany could do about it. But I am not sure if it was this issue or something else.
    """
  +type: "article"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 9
  +favouriteCount: 17
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1699840939 {#2447
    date: 2023-11-13 03:02:19.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#2391 …}
  +votes: Doctrine\ORM\PersistentCollection {#1407 …}
  +reports: Doctrine\ORM\PersistentCollection {#1910 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2025 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2026 …}
  +badges: Doctrine\ORM\PersistentCollection {#2037 …}
  +children: [
    App\Entity\EntryComment {#1678
      +user: App\Entity\User {#258 …}
      +entry: Proxies\__CG__\App\Entity\Entry {#1525 …2}
      +magazine: Proxies\__CG__\App\Entity\Magazine {#1554 …}
      +image: null
      +parent: Proxies\__CG__\App\Entity\EntryComment {#1581 …}
      +root: Proxies\__CG__\App\Entity\EntryComment {#1584 …}
      +body: """
        OK I went to their tracker. Which jogs my memory even further on why I gave up on it and am unmotivated to open issues in this case.\n
        \n
        Here is a similar but not exactly the same issue: Tool to Comentent lines fail and can be more elegant · Issue #3554 · geany/geany. I suspect my issue is probably related to theirs. The developer response is:\n
        \n
        > Since nobody has asked for this formatting before (@osergioabreu you did search for existing open or closed issues before you raised this didn’t you? 😁) users either don’t care because they only use it to temporarily comment out code and will remove it quickly, or they like it like that.\n
        > \n
        > So if “somebody” made a pull request which made the formatting an option it likely would be accepted so both tastes are accommodated.\n
        > \n
        > Or it was put in a plugin (if it isn’t in one already?)\n
        \n
        1. If my request is unique they are not interested because if it was important someone would already have posed it. If it isn’t unique than it would be a duplicate anyway. Unlike my problem, this issue #3554 is a *real* bug. The feature simply fails to work even on its own logic because it produces comments in such a way that the application itself does not *recognize* as comments. So impossible to later uncomment!\n
        2. They are basically open to PRs rather than suggestions. It isn’t just this particular case; it is the project as a a whole. It is a tool with a primary user base of developers so it is expected that many users will have the ability to do this. So-called “do-ocracy” I’ve heard described elsewhere. Which, fair enough, it is a FLOSS project and they have no responsibility to cater to me. I always am grateful for FLOSS developers and respect the right to runt heir project as they see fit. However I have no capacity to make a PR.\n
        3. Like me this dev wonders if it is a plugin. Also like me doesn’t have a way of finding out because the plugins are poorly described.\n
        \n
        Obviously we do not know each other but I will say that I have opened lots of issues like this in the past and will do so in the future. I don’t need a push to do it. That said, I appreciate the encouragement because for a long time I would never open issues and lots of people feel intimidated to do so. As I got more into FLOSS I came to understand that there is a sort of responsibility from users to give useful and constructive feedback to developers. And I have been blown away at how receptive developers are to my feedback, especially knowing that 90% of them are doing it on their own time. It really changes the way I look at commercial software when I have to use it at work. :) Where the relationship is transactional between my employer and the developers, rather than reciprocal between myself and the developers. My expectations are now so high based on FLOSS that commercial software seems so deficient. All that to say I understand what you are getting at.\n
        \n
        *However* I have also learned to evaluate the project prior to engaging with it to determine if my contribution would be welcome. When I am not the target user of the project, I find I am often wasting everyone’s time. The target user of this project is *programmers*.\n
        \n
        So in this case a forum post is more appropriate because the odds of a solution from the devs are like 1%. Maybe I will make an issue next time I’m logged in to github idk.\n
        \n
        A forum is a good place to learn from other users about undocumented features, or maybe there is a plugin someone knows about. That would actually be helpful.
        """
      +lang: "en"
      +isAdult: false
      +favouriteCount: 1
      +score: 0
      +lastActive: DateTime @1699798938 {#1743
        date: 2023-11-12 15:22:18.0 +01:00
      }
      +ip: null
      +tags: [
        "3554"
      ]
      +mentions: [
        "@crank@beehaw.org"
        "@aperson@beehaw.org"
        "@magikmw@lemm.ee"
        "@osergioabreu"
        "@russjr08@outpost.zeuslink.net"
      ]
      +children: Doctrine\ORM\PersistentCollection {#1580 …}
      +nested: Doctrine\ORM\PersistentCollection {#1583 …}
      +votes: Doctrine\ORM\PersistentCollection {#1582 …}
      +reports: Doctrine\ORM\PersistentCollection {#1589 …}
      +favourites: Doctrine\ORM\PersistentCollection {#1613 …}
      +notifications: Doctrine\ORM\PersistentCollection {#1557 …}
      -id: 115607
      -bodyTs: "'1':153,614 '2':229 '3':335 '3554':50,191 '90':471 'abil':275 'accept':133 'accommod':138 'actual':655 'alreadi':152,170 'also':346,547 'alway':308 'anyway':185 'applic':217 'appreci':405 'appropri':602 'ask':68 'away':459 'base':262,524 'basic':232 'blown':458 'bug':195 'call':281 'came':434 'capac':330 'care':94 'case':28,245,596 'cater':304 'chang':483 'close':81 'code':104 'coment':41 'comment':102,210,223 'commerci':489,528 'construct':450 'contribut':562 'defici':532 'describ':288,362 'determin':559 'dev':339,611 'develop':62,264,313,453,463,509,517 'didn':87 'do-ocraci':282 'doesn':349 'duplic':184 'either':91 'eleg':48 'elsewher':289 'employ':506 'encourag':407 'engag':555 'enough':292 'especi':468 'evalu':550 'even':11,202 'everyon':582 'exact':35 'exist':78 'expect':268,519 'fail':43,199 'fair':291 'featur':197,643 'feedback':451,467 'feel':422 'find':355,577 'fit':325 'floss':296,312,432,526 'format':71,126 'forum':598,631 'futur':392 'gave':16 'geany/geany':51 'get':542 'github':628 'give':447 'good':634 'got':429 'grate':310 'heard':287 'heir':320 'help':657 'high':523 'howev':326,544 'idk':629 'import':167 'imposs':225 'interest':162 'intimid':423 'isn':148,176,240 'issu':25,38,49,55,82,190,380,417,620 'jog':8 'know':367,469,651 'later':227 'learn':548,637 'like':112,114,130,336,347,381,613 'line':42 'log':625 'logic':206 'long':411 'look':487 'lot':378,419 'm':624 'made':119,124 'make':332,618 'mani':270 'mayb':615,645 'memori':10 'need':396 'never':415 'next':621 'nobodi':66 'obvious':363 'ocraci':284 'odd':605 'often':580 'ok':1 'one':151 'open':24,79,233,377,416 'option':128 'osergioabreu':73 'particular':244 'past':385 'peopl':421 'place':635 'plugin':145,345,359,649 'poor':361 'pose':172 'post':599 'pr':334 'primari':260 'prior':553 'probabl':57 'problem':188 'produc':209 'programm':592 'project':249,297,321,552,575,590 'prs':235 'pull':121 'push':398 'put':142 'quick':109 'rais':85 'rather':236,510 'real':194 'realli':482 'recept':462 'reciproc':512 'recogn':221 'relat':58 'relationship':501 'remov':107 'request':122,156 'respect':315 'respons':63,302,443 'right':317 'runt':319 'said':403 'say':373,536 'search':76 'see':324 'seem':530 'similar':32 'simpli':198 'sinc':65 'so-cal':279 'softwar':490,529 'solut':608 'somebodi':118 'someon':168,650 'sort':441 'suggest':238 'suspect':53 'target':571,586 'tast':136 'temporarili':101 'time':412,480,584,622 'tool':39,257 'tracker':6 'transact':503 'uncom':228 'understand':436,538 'undocu':642 'uniqu':158,178 'unlik':186 'unmotiv':22 'use':98,448,495 'user':90,261,271,445,572,587,640 've':286 'wast':581 'way':214,353,485 'welcom':565 'went':3 'whole':253 'wonder':340 'work':201,498 'would':131,169,181,414,563,654"
      +ranking: 0
      +commentCount: 0
      +upVotes: 0
      +downVotes: 0
      +visibility: "visible             "
      +apId: "https://beehaw.org/comment/1627049"
      +editedAt: null
      +createdAt: DateTimeImmutable @1699798938 {#1647
        date: 2023-11-12 15:22:18.0 +01:00
      }
      +"title": 115607
    }
  ]
  -id: 11968
  -titleTs: "'comment':10 'editor':9 'expect':14 'geani':7 'rememb':2 'stop':5 'text':8 'toggl':11 'use':6"
  -bodyTs: "'/documentation/releasenotes/)':10 '1':262 '2.0':3 'abl':78 'accord':215 'act':214 'add':128 'aggress':281 'anticip':107 'around':425 'back':15,116 'becam':359 'block':55,201,254 'bunch':427 'code':57 'command':335 'comment':52,54,71,89,98,103,125,133,146,153,177,210,224,238,246,250,256,265,282,290,304,313,324,354,393 'configur':48 'could':455 'couldn':31 'cours':268 'creat':367 'decid':12,111,205 'didn':346 'dig':424 'doesn':188 'duplic':310 'echo':72,99,147,178 'edit':101,149 'editor':217,228 'els':471 'encount':231 'end':434 'enjoy':381 'entir':253 'especi':295 'expect':139 'figur':44 'file':65,157,383 'find':398 'follow':62 'forc':274 'format':102,150 'function':220 'geani':2,24,196,287,316,430,454 'get':175 'giant':369 'instead':331 'issu':468 'kate':19,216 'keybind':87,123 'lead':183,291 'level':131,263,302,352 'lexer':448 'like':23 'limit':444 'line':83,104,115,126,152,169,289,325,329 'look':198 'lot':341,391 'm':372 'made':339 'matter':276 'mess':370 'mistak':343 'mix':236 'much':453 'multipl':301,351 'must':414 'never':244 'normal':409 'obvious':182 'origin':161,168 'perfect':266 'person':377 'pretti':408 'problem':29,40,438 'profession':375 'proper':51 'quick':37 'quit':33 'realiz':348 'realli':271 'recal':423 'recent':5 'releas':7 'rememb':34,38 'remov':245,249,260 'repo/docs':431 'reselect':166 'result':94,186,294 'return':158 'right':421 'run':171 'say':58 'scintilla':447 'script':69 'second':130 'seem':190 'select':80,222 'shell':68 'shouldn':362 'sinc':1 'singl':334 'someon':379 'someth':470 'spare':386 'standard':312 'start':299 'state':162 'strang':293 'sure':463 'switch':14 'text':203,241,382 'thing':358,401,410 'thought':404 'time':387 'toggl':151,223,288,314 'train':320 'tri':318,396 'type':67 'uncom':212,240,284,328,360,395 'unpredict':185 'use':21,85,124,285,323 'variabl':73,100,148,179 've':230 'want':75,113,144,272 'wasn':451 'way':194,308,417 'whatev':356 'whether':206 'work':105,154,402 'would':95,138,181 'www.geany.org':9 'www.geany.org/documentation/releasenotes/)':8"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1699773978
  +visibility: "visible             "
  +apId: "https://beehaw.org/post/9470604"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699704478 {#1677
    date: 2023-11-11 13:07:58.0 +01:00
  }
  +__isInitialized__: true
   …2
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
6 DENIED moderate
App\Entity\EntryComment {#1678
  +user: App\Entity\User {#258 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1525
    +user: App\Entity\User {#258 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1554 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2389 …}
    +slug: "I-remember-why-I-stopped-using-Geany-text-editor-comment"
    +title: "I remember why I stopped using Geany text editor: comment toggling not as expected"
    +url: null
    +body: """
      Since [Geany 2.0 has recently been released](https://www.geany.org/documentation/releasenotes/) I decided to switch back to it from Kate. I used to like Geany but it had some problems I couldn’t quite remember.\n
      \n
      So I quickly remembered the problem. I can’t figure out how to configure it to properly comment and comment blocks of code. Say you have the following in a file of type `shell script`:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;"># a comment\n
      </span><span style="color:#323232;">\t</span><span style="color:#62a35c;">echo </span><span style="color:#323232;">$variable\n
      </span>\n
      ```\n
      \n
      I want to be able to select the above lines and use a keybinding to comment them out, so the result would be:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">## a comment\n
      </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">#echo $variable\n
      </span>\n
      ```\n
      \n
      `Edit` &gt; `Format` &gt; `Comment Lines` works as anticipated.\n
      \n
      But if I decide I want the lines back, how do that with the same keybinding? Using `Comment Lines` again adds a second level of comments, which is what I would expect (but not what I want):\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">### a comment\n
      </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">##echo $variable\n
      </span>\n
      ```\n
      \n
      `Edit` &gt; `Format` &gt; `Toggle Line Commentation` works and the file returns to the original state. But if you reselect the original lines and run it again, you get\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\t a comment\n
      </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">#echo $variable\n
      </span>\n
      ```\n
      \n
      Which would obviously lead to unpredictable results.\n
      \n
      There doesn’t seem to be a way for Geany to look at the block of text and decide whether it should be *commented* or *uncommented* and act accordingly.\n
      \n
      Kate editor has this functionality in `Selection` &gt; `Toggle Comment` as do other editors I’ve encountered. If there is a mix of commented and uncommented text, it will *never* remove comments. It only removes comments when the entire block has commenting, and then it removes only 1 level of comments. Perfect. Of course if you really want to force the matter, there are the more aggressive `Comment` and `Uncomment`.\n
      \n
      Using the Geany `Toggle Line Commentation` leads to strange results, especially if you are starting with multiple levels of comments. Is there a way to duplicate the standard comment toggle in Geany? I tried to train myself to use `Comment Line(s)` and `Uncomment Lines(s)` instead of a single command but I just made a lot of mistakes where I didn’t realize there were multiple levels of comments or whatever and things became uncommented that shouldn’t have and it created a giant mess.\n
      \n
      I’m not a professional IT person, just someone who enjoys text files in their spare time. I do a lot of commenting and uncommenting trying to find out how things work. I thought it was a pretty normal thing to do. There must be a way to do it right?\n
      \n
      I recall digging around a bunch in the Geany repo/docs and it ended up that some problem I was having was a limitation of the Scintilla lexer and there wasn’t much Geany could do about it. But I am not sure if it was this issue or something else.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 9
    +favouriteCount: 17
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699840939 {#2447
      date: 2023-11-13 03:02:19.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2391 …}
    +votes: Doctrine\ORM\PersistentCollection {#1407 …}
    +reports: Doctrine\ORM\PersistentCollection {#1910 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2026 …}
    +badges: Doctrine\ORM\PersistentCollection {#2037 …}
    +children: [
      App\Entity\EntryComment {#1678}
    ]
    -id: 11968
    -titleTs: "'comment':10 'editor':9 'expect':14 'geani':7 'rememb':2 'stop':5 'text':8 'toggl':11 'use':6"
    -bodyTs: "'/documentation/releasenotes/)':10 '1':262 '2.0':3 'abl':78 'accord':215 'act':214 'add':128 'aggress':281 'anticip':107 'around':425 'back':15,116 'becam':359 'block':55,201,254 'bunch':427 'code':57 'command':335 'comment':52,54,71,89,98,103,125,133,146,153,177,210,224,238,246,250,256,265,282,290,304,313,324,354,393 'configur':48 'could':455 'couldn':31 'cours':268 'creat':367 'decid':12,111,205 'didn':346 'dig':424 'doesn':188 'duplic':310 'echo':72,99,147,178 'edit':101,149 'editor':217,228 'els':471 'encount':231 'end':434 'enjoy':381 'entir':253 'especi':295 'expect':139 'figur':44 'file':65,157,383 'find':398 'follow':62 'forc':274 'format':102,150 'function':220 'geani':2,24,196,287,316,430,454 'get':175 'giant':369 'instead':331 'issu':468 'kate':19,216 'keybind':87,123 'lead':183,291 'level':131,263,302,352 'lexer':448 'like':23 'limit':444 'line':83,104,115,126,152,169,289,325,329 'look':198 'lot':341,391 'm':372 'made':339 'matter':276 'mess':370 'mistak':343 'mix':236 'much':453 'multipl':301,351 'must':414 'never':244 'normal':409 'obvious':182 'origin':161,168 'perfect':266 'person':377 'pretti':408 'problem':29,40,438 'profession':375 'proper':51 'quick':37 'quit':33 'realiz':348 'realli':271 'recal':423 'recent':5 'releas':7 'rememb':34,38 'remov':245,249,260 'repo/docs':431 'reselect':166 'result':94,186,294 'return':158 'right':421 'run':171 'say':58 'scintilla':447 'script':69 'second':130 'seem':190 'select':80,222 'shell':68 'shouldn':362 'sinc':1 'singl':334 'someon':379 'someth':470 'spare':386 'standard':312 'start':299 'state':162 'strang':293 'sure':463 'switch':14 'text':203,241,382 'thing':358,401,410 'thought':404 'time':387 'toggl':151,223,288,314 'train':320 'tri':318,396 'type':67 'uncom':212,240,284,328,360,395 'unpredict':185 'use':21,85,124,285,323 'variabl':73,100,148,179 've':230 'want':75,113,144,272 'wasn':451 'way':194,308,417 'whatev':356 'whether':206 'work':105,154,402 'would':95,138,181 'www.geany.org':9 'www.geany.org/documentation/releasenotes/)':8"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699773978
    +visibility: "visible             "
    +apId: "https://beehaw.org/post/9470604"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699704478 {#1677
      date: 2023-11-11 13:07:58.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1554 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1581 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1584 …}
  +body: """
    OK I went to their tracker. Which jogs my memory even further on why I gave up on it and am unmotivated to open issues in this case.\n
    \n
    Here is a similar but not exactly the same issue: Tool to Comentent lines fail and can be more elegant · Issue #3554 · geany/geany. I suspect my issue is probably related to theirs. The developer response is:\n
    \n
    > Since nobody has asked for this formatting before (@osergioabreu you did search for existing open or closed issues before you raised this didn’t you? 😁) users either don’t care because they only use it to temporarily comment out code and will remove it quickly, or they like it like that.\n
    > \n
    > So if “somebody” made a pull request which made the formatting an option it likely would be accepted so both tastes are accommodated.\n
    > \n
    > Or it was put in a plugin (if it isn’t in one already?)\n
    \n
    1. If my request is unique they are not interested because if it was important someone would already have posed it. If it isn’t unique than it would be a duplicate anyway. Unlike my problem, this issue #3554 is a *real* bug. The feature simply fails to work even on its own logic because it produces comments in such a way that the application itself does not *recognize* as comments. So impossible to later uncomment!\n
    2. They are basically open to PRs rather than suggestions. It isn’t just this particular case; it is the project as a a whole. It is a tool with a primary user base of developers so it is expected that many users will have the ability to do this. So-called “do-ocracy” I’ve heard described elsewhere. Which, fair enough, it is a FLOSS project and they have no responsibility to cater to me. I always am grateful for FLOSS developers and respect the right to runt heir project as they see fit. However I have no capacity to make a PR.\n
    3. Like me this dev wonders if it is a plugin. Also like me doesn’t have a way of finding out because the plugins are poorly described.\n
    \n
    Obviously we do not know each other but I will say that I have opened lots of issues like this in the past and will do so in the future. I don’t need a push to do it. That said, I appreciate the encouragement because for a long time I would never open issues and lots of people feel intimidated to do so. As I got more into FLOSS I came to understand that there is a sort of responsibility from users to give useful and constructive feedback to developers. And I have been blown away at how receptive developers are to my feedback, especially knowing that 90% of them are doing it on their own time. It really changes the way I look at commercial software when I have to use it at work. :) Where the relationship is transactional between my employer and the developers, rather than reciprocal between myself and the developers. My expectations are now so high based on FLOSS that commercial software seems so deficient. All that to say I understand what you are getting at.\n
    \n
    *However* I have also learned to evaluate the project prior to engaging with it to determine if my contribution would be welcome. When I am not the target user of the project, I find I am often wasting everyone’s time. The target user of this project is *programmers*.\n
    \n
    So in this case a forum post is more appropriate because the odds of a solution from the devs are like 1%. Maybe I will make an issue next time I’m logged in to github idk.\n
    \n
    A forum is a good place to learn from other users about undocumented features, or maybe there is a plugin someone knows about. That would actually be helpful.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1699798938 {#1743
    date: 2023-11-12 15:22:18.0 +01:00
  }
  +ip: null
  +tags: [
    "3554"
  ]
  +mentions: [
    "@crank@beehaw.org"
    "@aperson@beehaw.org"
    "@magikmw@lemm.ee"
    "@osergioabreu"
    "@russjr08@outpost.zeuslink.net"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1580 …}
  +nested: Doctrine\ORM\PersistentCollection {#1583 …}
  +votes: Doctrine\ORM\PersistentCollection {#1582 …}
  +reports: Doctrine\ORM\PersistentCollection {#1589 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1613 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1557 …}
  -id: 115607
  -bodyTs: "'1':153,614 '2':229 '3':335 '3554':50,191 '90':471 'abil':275 'accept':133 'accommod':138 'actual':655 'alreadi':152,170 'also':346,547 'alway':308 'anyway':185 'applic':217 'appreci':405 'appropri':602 'ask':68 'away':459 'base':262,524 'basic':232 'blown':458 'bug':195 'call':281 'came':434 'capac':330 'care':94 'case':28,245,596 'cater':304 'chang':483 'close':81 'code':104 'coment':41 'comment':102,210,223 'commerci':489,528 'construct':450 'contribut':562 'defici':532 'describ':288,362 'determin':559 'dev':339,611 'develop':62,264,313,453,463,509,517 'didn':87 'do-ocraci':282 'doesn':349 'duplic':184 'either':91 'eleg':48 'elsewher':289 'employ':506 'encourag':407 'engag':555 'enough':292 'especi':468 'evalu':550 'even':11,202 'everyon':582 'exact':35 'exist':78 'expect':268,519 'fail':43,199 'fair':291 'featur':197,643 'feedback':451,467 'feel':422 'find':355,577 'fit':325 'floss':296,312,432,526 'format':71,126 'forum':598,631 'futur':392 'gave':16 'geany/geany':51 'get':542 'github':628 'give':447 'good':634 'got':429 'grate':310 'heard':287 'heir':320 'help':657 'high':523 'howev':326,544 'idk':629 'import':167 'imposs':225 'interest':162 'intimid':423 'isn':148,176,240 'issu':25,38,49,55,82,190,380,417,620 'jog':8 'know':367,469,651 'later':227 'learn':548,637 'like':112,114,130,336,347,381,613 'line':42 'log':625 'logic':206 'long':411 'look':487 'lot':378,419 'm':624 'made':119,124 'make':332,618 'mani':270 'mayb':615,645 'memori':10 'need':396 'never':415 'next':621 'nobodi':66 'obvious':363 'ocraci':284 'odd':605 'often':580 'ok':1 'one':151 'open':24,79,233,377,416 'option':128 'osergioabreu':73 'particular':244 'past':385 'peopl':421 'place':635 'plugin':145,345,359,649 'poor':361 'pose':172 'post':599 'pr':334 'primari':260 'prior':553 'probabl':57 'problem':188 'produc':209 'programm':592 'project':249,297,321,552,575,590 'prs':235 'pull':121 'push':398 'put':142 'quick':109 'rais':85 'rather':236,510 'real':194 'realli':482 'recept':462 'reciproc':512 'recogn':221 'relat':58 'relationship':501 'remov':107 'request':122,156 'respect':315 'respons':63,302,443 'right':317 'runt':319 'said':403 'say':373,536 'search':76 'see':324 'seem':530 'similar':32 'simpli':198 'sinc':65 'so-cal':279 'softwar':490,529 'solut':608 'somebodi':118 'someon':168,650 'sort':441 'suggest':238 'suspect':53 'target':571,586 'tast':136 'temporarili':101 'time':412,480,584,622 'tool':39,257 'tracker':6 'transact':503 'uncom':228 'understand':436,538 'undocu':642 'uniqu':158,178 'unlik':186 'unmotiv':22 'use':98,448,495 'user':90,261,271,445,572,587,640 've':286 'wast':581 'way':214,353,485 'welcom':565 'went':3 'whole':253 'wonder':340 'work':201,498 'would':131,169,181,414,563,654"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://beehaw.org/comment/1627049"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699798938 {#1647
    date: 2023-11-12 15:22:18.0 +01:00
  }
  +"title": 115607
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
7 DENIED edit
App\Entity\EntryComment {#1678
  +user: App\Entity\User {#258 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1525
    +user: App\Entity\User {#258 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1554 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2389 …}
    +slug: "I-remember-why-I-stopped-using-Geany-text-editor-comment"
    +title: "I remember why I stopped using Geany text editor: comment toggling not as expected"
    +url: null
    +body: """
      Since [Geany 2.0 has recently been released](https://www.geany.org/documentation/releasenotes/) I decided to switch back to it from Kate. I used to like Geany but it had some problems I couldn’t quite remember.\n
      \n
      So I quickly remembered the problem. I can’t figure out how to configure it to properly comment and comment blocks of code. Say you have the following in a file of type `shell script`:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;"># a comment\n
      </span><span style="color:#323232;">\t</span><span style="color:#62a35c;">echo </span><span style="color:#323232;">$variable\n
      </span>\n
      ```\n
      \n
      I want to be able to select the above lines and use a keybinding to comment them out, so the result would be:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">## a comment\n
      </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">#echo $variable\n
      </span>\n
      ```\n
      \n
      `Edit` &gt; `Format` &gt; `Comment Lines` works as anticipated.\n
      \n
      But if I decide I want the lines back, how do that with the same keybinding? Using `Comment Lines` again adds a second level of comments, which is what I would expect (but not what I want):\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">### a comment\n
      </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">##echo $variable\n
      </span>\n
      ```\n
      \n
      `Edit` &gt; `Format` &gt; `Toggle Line Commentation` works and the file returns to the original state. But if you reselect the original lines and run it again, you get\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\t a comment\n
      </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">#echo $variable\n
      </span>\n
      ```\n
      \n
      Which would obviously lead to unpredictable results.\n
      \n
      There doesn’t seem to be a way for Geany to look at the block of text and decide whether it should be *commented* or *uncommented* and act accordingly.\n
      \n
      Kate editor has this functionality in `Selection` &gt; `Toggle Comment` as do other editors I’ve encountered. If there is a mix of commented and uncommented text, it will *never* remove comments. It only removes comments when the entire block has commenting, and then it removes only 1 level of comments. Perfect. Of course if you really want to force the matter, there are the more aggressive `Comment` and `Uncomment`.\n
      \n
      Using the Geany `Toggle Line Commentation` leads to strange results, especially if you are starting with multiple levels of comments. Is there a way to duplicate the standard comment toggle in Geany? I tried to train myself to use `Comment Line(s)` and `Uncomment Lines(s)` instead of a single command but I just made a lot of mistakes where I didn’t realize there were multiple levels of comments or whatever and things became uncommented that shouldn’t have and it created a giant mess.\n
      \n
      I’m not a professional IT person, just someone who enjoys text files in their spare time. I do a lot of commenting and uncommenting trying to find out how things work. I thought it was a pretty normal thing to do. There must be a way to do it right?\n
      \n
      I recall digging around a bunch in the Geany repo/docs and it ended up that some problem I was having was a limitation of the Scintilla lexer and there wasn’t much Geany could do about it. But I am not sure if it was this issue or something else.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 9
    +favouriteCount: 17
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699840939 {#2447
      date: 2023-11-13 03:02:19.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2391 …}
    +votes: Doctrine\ORM\PersistentCollection {#1407 …}
    +reports: Doctrine\ORM\PersistentCollection {#1910 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2026 …}
    +badges: Doctrine\ORM\PersistentCollection {#2037 …}
    +children: [
      App\Entity\EntryComment {#1678}
    ]
    -id: 11968
    -titleTs: "'comment':10 'editor':9 'expect':14 'geani':7 'rememb':2 'stop':5 'text':8 'toggl':11 'use':6"
    -bodyTs: "'/documentation/releasenotes/)':10 '1':262 '2.0':3 'abl':78 'accord':215 'act':214 'add':128 'aggress':281 'anticip':107 'around':425 'back':15,116 'becam':359 'block':55,201,254 'bunch':427 'code':57 'command':335 'comment':52,54,71,89,98,103,125,133,146,153,177,210,224,238,246,250,256,265,282,290,304,313,324,354,393 'configur':48 'could':455 'couldn':31 'cours':268 'creat':367 'decid':12,111,205 'didn':346 'dig':424 'doesn':188 'duplic':310 'echo':72,99,147,178 'edit':101,149 'editor':217,228 'els':471 'encount':231 'end':434 'enjoy':381 'entir':253 'especi':295 'expect':139 'figur':44 'file':65,157,383 'find':398 'follow':62 'forc':274 'format':102,150 'function':220 'geani':2,24,196,287,316,430,454 'get':175 'giant':369 'instead':331 'issu':468 'kate':19,216 'keybind':87,123 'lead':183,291 'level':131,263,302,352 'lexer':448 'like':23 'limit':444 'line':83,104,115,126,152,169,289,325,329 'look':198 'lot':341,391 'm':372 'made':339 'matter':276 'mess':370 'mistak':343 'mix':236 'much':453 'multipl':301,351 'must':414 'never':244 'normal':409 'obvious':182 'origin':161,168 'perfect':266 'person':377 'pretti':408 'problem':29,40,438 'profession':375 'proper':51 'quick':37 'quit':33 'realiz':348 'realli':271 'recal':423 'recent':5 'releas':7 'rememb':34,38 'remov':245,249,260 'repo/docs':431 'reselect':166 'result':94,186,294 'return':158 'right':421 'run':171 'say':58 'scintilla':447 'script':69 'second':130 'seem':190 'select':80,222 'shell':68 'shouldn':362 'sinc':1 'singl':334 'someon':379 'someth':470 'spare':386 'standard':312 'start':299 'state':162 'strang':293 'sure':463 'switch':14 'text':203,241,382 'thing':358,401,410 'thought':404 'time':387 'toggl':151,223,288,314 'train':320 'tri':318,396 'type':67 'uncom':212,240,284,328,360,395 'unpredict':185 'use':21,85,124,285,323 'variabl':73,100,148,179 've':230 'want':75,113,144,272 'wasn':451 'way':194,308,417 'whatev':356 'whether':206 'work':105,154,402 'would':95,138,181 'www.geany.org':9 'www.geany.org/documentation/releasenotes/)':8"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699773978
    +visibility: "visible             "
    +apId: "https://beehaw.org/post/9470604"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699704478 {#1677
      date: 2023-11-11 13:07:58.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1554 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1581 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1584 …}
  +body: """
    OK I went to their tracker. Which jogs my memory even further on why I gave up on it and am unmotivated to open issues in this case.\n
    \n
    Here is a similar but not exactly the same issue: Tool to Comentent lines fail and can be more elegant · Issue #3554 · geany/geany. I suspect my issue is probably related to theirs. The developer response is:\n
    \n
    > Since nobody has asked for this formatting before (@osergioabreu you did search for existing open or closed issues before you raised this didn’t you? 😁) users either don’t care because they only use it to temporarily comment out code and will remove it quickly, or they like it like that.\n
    > \n
    > So if “somebody” made a pull request which made the formatting an option it likely would be accepted so both tastes are accommodated.\n
    > \n
    > Or it was put in a plugin (if it isn’t in one already?)\n
    \n
    1. If my request is unique they are not interested because if it was important someone would already have posed it. If it isn’t unique than it would be a duplicate anyway. Unlike my problem, this issue #3554 is a *real* bug. The feature simply fails to work even on its own logic because it produces comments in such a way that the application itself does not *recognize* as comments. So impossible to later uncomment!\n
    2. They are basically open to PRs rather than suggestions. It isn’t just this particular case; it is the project as a a whole. It is a tool with a primary user base of developers so it is expected that many users will have the ability to do this. So-called “do-ocracy” I’ve heard described elsewhere. Which, fair enough, it is a FLOSS project and they have no responsibility to cater to me. I always am grateful for FLOSS developers and respect the right to runt heir project as they see fit. However I have no capacity to make a PR.\n
    3. Like me this dev wonders if it is a plugin. Also like me doesn’t have a way of finding out because the plugins are poorly described.\n
    \n
    Obviously we do not know each other but I will say that I have opened lots of issues like this in the past and will do so in the future. I don’t need a push to do it. That said, I appreciate the encouragement because for a long time I would never open issues and lots of people feel intimidated to do so. As I got more into FLOSS I came to understand that there is a sort of responsibility from users to give useful and constructive feedback to developers. And I have been blown away at how receptive developers are to my feedback, especially knowing that 90% of them are doing it on their own time. It really changes the way I look at commercial software when I have to use it at work. :) Where the relationship is transactional between my employer and the developers, rather than reciprocal between myself and the developers. My expectations are now so high based on FLOSS that commercial software seems so deficient. All that to say I understand what you are getting at.\n
    \n
    *However* I have also learned to evaluate the project prior to engaging with it to determine if my contribution would be welcome. When I am not the target user of the project, I find I am often wasting everyone’s time. The target user of this project is *programmers*.\n
    \n
    So in this case a forum post is more appropriate because the odds of a solution from the devs are like 1%. Maybe I will make an issue next time I’m logged in to github idk.\n
    \n
    A forum is a good place to learn from other users about undocumented features, or maybe there is a plugin someone knows about. That would actually be helpful.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1699798938 {#1743
    date: 2023-11-12 15:22:18.0 +01:00
  }
  +ip: null
  +tags: [
    "3554"
  ]
  +mentions: [
    "@crank@beehaw.org"
    "@aperson@beehaw.org"
    "@magikmw@lemm.ee"
    "@osergioabreu"
    "@russjr08@outpost.zeuslink.net"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1580 …}
  +nested: Doctrine\ORM\PersistentCollection {#1583 …}
  +votes: Doctrine\ORM\PersistentCollection {#1582 …}
  +reports: Doctrine\ORM\PersistentCollection {#1589 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1613 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1557 …}
  -id: 115607
  -bodyTs: "'1':153,614 '2':229 '3':335 '3554':50,191 '90':471 'abil':275 'accept':133 'accommod':138 'actual':655 'alreadi':152,170 'also':346,547 'alway':308 'anyway':185 'applic':217 'appreci':405 'appropri':602 'ask':68 'away':459 'base':262,524 'basic':232 'blown':458 'bug':195 'call':281 'came':434 'capac':330 'care':94 'case':28,245,596 'cater':304 'chang':483 'close':81 'code':104 'coment':41 'comment':102,210,223 'commerci':489,528 'construct':450 'contribut':562 'defici':532 'describ':288,362 'determin':559 'dev':339,611 'develop':62,264,313,453,463,509,517 'didn':87 'do-ocraci':282 'doesn':349 'duplic':184 'either':91 'eleg':48 'elsewher':289 'employ':506 'encourag':407 'engag':555 'enough':292 'especi':468 'evalu':550 'even':11,202 'everyon':582 'exact':35 'exist':78 'expect':268,519 'fail':43,199 'fair':291 'featur':197,643 'feedback':451,467 'feel':422 'find':355,577 'fit':325 'floss':296,312,432,526 'format':71,126 'forum':598,631 'futur':392 'gave':16 'geany/geany':51 'get':542 'github':628 'give':447 'good':634 'got':429 'grate':310 'heard':287 'heir':320 'help':657 'high':523 'howev':326,544 'idk':629 'import':167 'imposs':225 'interest':162 'intimid':423 'isn':148,176,240 'issu':25,38,49,55,82,190,380,417,620 'jog':8 'know':367,469,651 'later':227 'learn':548,637 'like':112,114,130,336,347,381,613 'line':42 'log':625 'logic':206 'long':411 'look':487 'lot':378,419 'm':624 'made':119,124 'make':332,618 'mani':270 'mayb':615,645 'memori':10 'need':396 'never':415 'next':621 'nobodi':66 'obvious':363 'ocraci':284 'odd':605 'often':580 'ok':1 'one':151 'open':24,79,233,377,416 'option':128 'osergioabreu':73 'particular':244 'past':385 'peopl':421 'place':635 'plugin':145,345,359,649 'poor':361 'pose':172 'post':599 'pr':334 'primari':260 'prior':553 'probabl':57 'problem':188 'produc':209 'programm':592 'project':249,297,321,552,575,590 'prs':235 'pull':121 'push':398 'put':142 'quick':109 'rais':85 'rather':236,510 'real':194 'realli':482 'recept':462 'reciproc':512 'recogn':221 'relat':58 'relationship':501 'remov':107 'request':122,156 'respect':315 'respons':63,302,443 'right':317 'runt':319 'said':403 'say':373,536 'search':76 'see':324 'seem':530 'similar':32 'simpli':198 'sinc':65 'so-cal':279 'softwar':490,529 'solut':608 'somebodi':118 'someon':168,650 'sort':441 'suggest':238 'suspect':53 'target':571,586 'tast':136 'temporarili':101 'time':412,480,584,622 'tool':39,257 'tracker':6 'transact':503 'uncom':228 'understand':436,538 'undocu':642 'uniqu':158,178 'unlik':186 'unmotiv':22 'use':98,448,495 'user':90,261,271,445,572,587,640 've':286 'wast':581 'way':214,353,485 'welcom':565 'went':3 'whole':253 'wonder':340 'work':201,498 'would':131,169,181,414,563,654"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://beehaw.org/comment/1627049"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699798938 {#1647
    date: 2023-11-12 15:22:18.0 +01:00
  }
  +"title": 115607
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
8 DENIED moderate
App\Entity\EntryComment {#1678
  +user: App\Entity\User {#258 …}
  +entry: Proxies\__CG__\App\Entity\Entry {#1525
    +user: App\Entity\User {#258 …}
    +magazine: Proxies\__CG__\App\Entity\Magazine {#1554 …}
    +image: null
    +domain: Proxies\__CG__\App\Entity\Domain {#2389 …}
    +slug: "I-remember-why-I-stopped-using-Geany-text-editor-comment"
    +title: "I remember why I stopped using Geany text editor: comment toggling not as expected"
    +url: null
    +body: """
      Since [Geany 2.0 has recently been released](https://www.geany.org/documentation/releasenotes/) I decided to switch back to it from Kate. I used to like Geany but it had some problems I couldn’t quite remember.\n
      \n
      So I quickly remembered the problem. I can’t figure out how to configure it to properly comment and comment blocks of code. Say you have the following in a file of type `shell script`:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;"># a comment\n
      </span><span style="color:#323232;">\t</span><span style="color:#62a35c;">echo </span><span style="color:#323232;">$variable\n
      </span>\n
      ```\n
      \n
      I want to be able to select the above lines and use a keybinding to comment them out, so the result would be:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">## a comment\n
      </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">#echo $variable\n
      </span>\n
      ```\n
      \n
      `Edit` &gt; `Format` &gt; `Comment Lines` works as anticipated.\n
      \n
      But if I decide I want the lines back, how do that with the same keybinding? Using `Comment Lines` again adds a second level of comments, which is what I would expect (but not what I want):\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">### a comment\n
      </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">##echo $variable\n
      </span>\n
      ```\n
      \n
      `Edit` &gt; `Format` &gt; `Toggle Line Commentation` works and the file returns to the original state. But if you reselect the original lines and run it again, you get\n
      \n
      ```\n
      \n
      <span style="color:#323232;">\t a comment\n
      </span><span style="color:#323232;">\t</span><span style="font-style:italic;color:#969896;">#echo $variable\n
      </span>\n
      ```\n
      \n
      Which would obviously lead to unpredictable results.\n
      \n
      There doesn’t seem to be a way for Geany to look at the block of text and decide whether it should be *commented* or *uncommented* and act accordingly.\n
      \n
      Kate editor has this functionality in `Selection` &gt; `Toggle Comment` as do other editors I’ve encountered. If there is a mix of commented and uncommented text, it will *never* remove comments. It only removes comments when the entire block has commenting, and then it removes only 1 level of comments. Perfect. Of course if you really want to force the matter, there are the more aggressive `Comment` and `Uncomment`.\n
      \n
      Using the Geany `Toggle Line Commentation` leads to strange results, especially if you are starting with multiple levels of comments. Is there a way to duplicate the standard comment toggle in Geany? I tried to train myself to use `Comment Line(s)` and `Uncomment Lines(s)` instead of a single command but I just made a lot of mistakes where I didn’t realize there were multiple levels of comments or whatever and things became uncommented that shouldn’t have and it created a giant mess.\n
      \n
      I’m not a professional IT person, just someone who enjoys text files in their spare time. I do a lot of commenting and uncommenting trying to find out how things work. I thought it was a pretty normal thing to do. There must be a way to do it right?\n
      \n
      I recall digging around a bunch in the Geany repo/docs and it ended up that some problem I was having was a limitation of the Scintilla lexer and there wasn’t much Geany could do about it. But I am not sure if it was this issue or something else.
      """
    +type: "article"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 9
    +favouriteCount: 17
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1699840939 {#2447
      date: 2023-11-13 03:02:19.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#2391 …}
    +votes: Doctrine\ORM\PersistentCollection {#1407 …}
    +reports: Doctrine\ORM\PersistentCollection {#1910 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2025 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2026 …}
    +badges: Doctrine\ORM\PersistentCollection {#2037 …}
    +children: [
      App\Entity\EntryComment {#1678}
    ]
    -id: 11968
    -titleTs: "'comment':10 'editor':9 'expect':14 'geani':7 'rememb':2 'stop':5 'text':8 'toggl':11 'use':6"
    -bodyTs: "'/documentation/releasenotes/)':10 '1':262 '2.0':3 'abl':78 'accord':215 'act':214 'add':128 'aggress':281 'anticip':107 'around':425 'back':15,116 'becam':359 'block':55,201,254 'bunch':427 'code':57 'command':335 'comment':52,54,71,89,98,103,125,133,146,153,177,210,224,238,246,250,256,265,282,290,304,313,324,354,393 'configur':48 'could':455 'couldn':31 'cours':268 'creat':367 'decid':12,111,205 'didn':346 'dig':424 'doesn':188 'duplic':310 'echo':72,99,147,178 'edit':101,149 'editor':217,228 'els':471 'encount':231 'end':434 'enjoy':381 'entir':253 'especi':295 'expect':139 'figur':44 'file':65,157,383 'find':398 'follow':62 'forc':274 'format':102,150 'function':220 'geani':2,24,196,287,316,430,454 'get':175 'giant':369 'instead':331 'issu':468 'kate':19,216 'keybind':87,123 'lead':183,291 'level':131,263,302,352 'lexer':448 'like':23 'limit':444 'line':83,104,115,126,152,169,289,325,329 'look':198 'lot':341,391 'm':372 'made':339 'matter':276 'mess':370 'mistak':343 'mix':236 'much':453 'multipl':301,351 'must':414 'never':244 'normal':409 'obvious':182 'origin':161,168 'perfect':266 'person':377 'pretti':408 'problem':29,40,438 'profession':375 'proper':51 'quick':37 'quit':33 'realiz':348 'realli':271 'recal':423 'recent':5 'releas':7 'rememb':34,38 'remov':245,249,260 'repo/docs':431 'reselect':166 'result':94,186,294 'return':158 'right':421 'run':171 'say':58 'scintilla':447 'script':69 'second':130 'seem':190 'select':80,222 'shell':68 'shouldn':362 'sinc':1 'singl':334 'someon':379 'someth':470 'spare':386 'standard':312 'start':299 'state':162 'strang':293 'sure':463 'switch':14 'text':203,241,382 'thing':358,401,410 'thought':404 'time':387 'toggl':151,223,288,314 'train':320 'tri':318,396 'type':67 'uncom':212,240,284,328,360,395 'unpredict':185 'use':21,85,124,285,323 'variabl':73,100,148,179 've':230 'want':75,113,144,272 'wasn':451 'way':194,308,417 'whatev':356 'whether':206 'work':105,154,402 'would':95,138,181 'www.geany.org':9 'www.geany.org/documentation/releasenotes/)':8"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1699773978
    +visibility: "visible             "
    +apId: "https://beehaw.org/post/9470604"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699704478 {#1677
      date: 2023-11-11 13:07:58.0 +01:00
    }
    +__isInitialized__: true
     …2
  }
  +magazine: Proxies\__CG__\App\Entity\Magazine {#1554 …}
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#1581 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#1584 …}
  +body: """
    OK I went to their tracker. Which jogs my memory even further on why I gave up on it and am unmotivated to open issues in this case.\n
    \n
    Here is a similar but not exactly the same issue: Tool to Comentent lines fail and can be more elegant · Issue #3554 · geany/geany. I suspect my issue is probably related to theirs. The developer response is:\n
    \n
    > Since nobody has asked for this formatting before (@osergioabreu you did search for existing open or closed issues before you raised this didn’t you? 😁) users either don’t care because they only use it to temporarily comment out code and will remove it quickly, or they like it like that.\n
    > \n
    > So if “somebody” made a pull request which made the formatting an option it likely would be accepted so both tastes are accommodated.\n
    > \n
    > Or it was put in a plugin (if it isn’t in one already?)\n
    \n
    1. If my request is unique they are not interested because if it was important someone would already have posed it. If it isn’t unique than it would be a duplicate anyway. Unlike my problem, this issue #3554 is a *real* bug. The feature simply fails to work even on its own logic because it produces comments in such a way that the application itself does not *recognize* as comments. So impossible to later uncomment!\n
    2. They are basically open to PRs rather than suggestions. It isn’t just this particular case; it is the project as a a whole. It is a tool with a primary user base of developers so it is expected that many users will have the ability to do this. So-called “do-ocracy” I’ve heard described elsewhere. Which, fair enough, it is a FLOSS project and they have no responsibility to cater to me. I always am grateful for FLOSS developers and respect the right to runt heir project as they see fit. However I have no capacity to make a PR.\n
    3. Like me this dev wonders if it is a plugin. Also like me doesn’t have a way of finding out because the plugins are poorly described.\n
    \n
    Obviously we do not know each other but I will say that I have opened lots of issues like this in the past and will do so in the future. I don’t need a push to do it. That said, I appreciate the encouragement because for a long time I would never open issues and lots of people feel intimidated to do so. As I got more into FLOSS I came to understand that there is a sort of responsibility from users to give useful and constructive feedback to developers. And I have been blown away at how receptive developers are to my feedback, especially knowing that 90% of them are doing it on their own time. It really changes the way I look at commercial software when I have to use it at work. :) Where the relationship is transactional between my employer and the developers, rather than reciprocal between myself and the developers. My expectations are now so high based on FLOSS that commercial software seems so deficient. All that to say I understand what you are getting at.\n
    \n
    *However* I have also learned to evaluate the project prior to engaging with it to determine if my contribution would be welcome. When I am not the target user of the project, I find I am often wasting everyone’s time. The target user of this project is *programmers*.\n
    \n
    So in this case a forum post is more appropriate because the odds of a solution from the devs are like 1%. Maybe I will make an issue next time I’m logged in to github idk.\n
    \n
    A forum is a good place to learn from other users about undocumented features, or maybe there is a plugin someone knows about. That would actually be helpful.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1699798938 {#1743
    date: 2023-11-12 15:22:18.0 +01:00
  }
  +ip: null
  +tags: [
    "3554"
  ]
  +mentions: [
    "@crank@beehaw.org"
    "@aperson@beehaw.org"
    "@magikmw@lemm.ee"
    "@osergioabreu"
    "@russjr08@outpost.zeuslink.net"
  ]
  +children: Doctrine\ORM\PersistentCollection {#1580 …}
  +nested: Doctrine\ORM\PersistentCollection {#1583 …}
  +votes: Doctrine\ORM\PersistentCollection {#1582 …}
  +reports: Doctrine\ORM\PersistentCollection {#1589 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1613 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1557 …}
  -id: 115607
  -bodyTs: "'1':153,614 '2':229 '3':335 '3554':50,191 '90':471 'abil':275 'accept':133 'accommod':138 'actual':655 'alreadi':152,170 'also':346,547 'alway':308 'anyway':185 'applic':217 'appreci':405 'appropri':602 'ask':68 'away':459 'base':262,524 'basic':232 'blown':458 'bug':195 'call':281 'came':434 'capac':330 'care':94 'case':28,245,596 'cater':304 'chang':483 'close':81 'code':104 'coment':41 'comment':102,210,223 'commerci':489,528 'construct':450 'contribut':562 'defici':532 'describ':288,362 'determin':559 'dev':339,611 'develop':62,264,313,453,463,509,517 'didn':87 'do-ocraci':282 'doesn':349 'duplic':184 'either':91 'eleg':48 'elsewher':289 'employ':506 'encourag':407 'engag':555 'enough':292 'especi':468 'evalu':550 'even':11,202 'everyon':582 'exact':35 'exist':78 'expect':268,519 'fail':43,199 'fair':291 'featur':197,643 'feedback':451,467 'feel':422 'find':355,577 'fit':325 'floss':296,312,432,526 'format':71,126 'forum':598,631 'futur':392 'gave':16 'geany/geany':51 'get':542 'github':628 'give':447 'good':634 'got':429 'grate':310 'heard':287 'heir':320 'help':657 'high':523 'howev':326,544 'idk':629 'import':167 'imposs':225 'interest':162 'intimid':423 'isn':148,176,240 'issu':25,38,49,55,82,190,380,417,620 'jog':8 'know':367,469,651 'later':227 'learn':548,637 'like':112,114,130,336,347,381,613 'line':42 'log':625 'logic':206 'long':411 'look':487 'lot':378,419 'm':624 'made':119,124 'make':332,618 'mani':270 'mayb':615,645 'memori':10 'need':396 'never':415 'next':621 'nobodi':66 'obvious':363 'ocraci':284 'odd':605 'often':580 'ok':1 'one':151 'open':24,79,233,377,416 'option':128 'osergioabreu':73 'particular':244 'past':385 'peopl':421 'place':635 'plugin':145,345,359,649 'poor':361 'pose':172 'post':599 'pr':334 'primari':260 'prior':553 'probabl':57 'problem':188 'produc':209 'programm':592 'project':249,297,321,552,575,590 'prs':235 'pull':121 'push':398 'put':142 'quick':109 'rais':85 'rather':236,510 'real':194 'realli':482 'recept':462 'reciproc':512 'recogn':221 'relat':58 'relationship':501 'remov':107 'request':122,156 'respect':315 'respons':63,302,443 'right':317 'runt':319 'said':403 'say':373,536 'search':76 'see':324 'seem':530 'similar':32 'simpli':198 'sinc':65 'so-cal':279 'softwar':490,529 'solut':608 'somebodi':118 'someon':168,650 'sort':441 'suggest':238 'suspect':53 'target':571,586 'tast':136 'temporarili':101 'time':412,480,584,622 'tool':39,257 'tracker':6 'transact':503 'uncom':228 'understand':436,538 'undocu':642 'uniqu':158,178 'unlik':186 'unmotiv':22 'use':98,448,495 'user':90,261,271,445,572,587,640 've':286 'wast':581 'way':214,353,485 'welcom':565 'went':3 'whole':253 'wonder':340 'work':201,498 'would':131,169,181,414,563,654"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://beehaw.org/comment/1627049"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699798938 {#1647
    date: 2023-11-12 15:22:18.0 +01:00
  }
  +"title": 115607
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
9 DENIED ROLE_ADMIN
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
10 DENIED ROLE_MODERATOR
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details